您的位置:首页 > 其它

匿名内部类和接口

2011-09-11 23:52 190 查看
关于内部类和接口的一个示例代码:

interface TestInterface{
void sayHello();
}

public class Test{

//这是内部类
private class TestInnerClass{
//
}

public void say(){
//这是内部匿名类
new TestInterface(){
public void sayHello(){
System.out.println( "hello world !");
}
}.sayHello();   //匿名内部类的对象调用了sayHello()方法
}

public static void main(String []args){

new Test().say();
}
}

上面代码中:我们知道接口是不能被实例化的,但是 下面这段代码似乎是对接口的实例化

//这是内部匿名类
new TestInterface(){
public void sayHello(){
System.out.println( "hello world !");
}
}.sayHello();   //匿名内部类的对象调用了sayHello()方法

但是,实际上对于上面代码可以理解为:实际是一个类(匿名的)实现了TestInterface接口,并对sayHello()方法进行了具体实现,然后通过该匿名类的对象调用了 sayHello()方法。所以运行此段代码会输出 hello world !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐