匿名内部类和接口
2011-09-11 23:52
190 查看
关于内部类和接口的一个示例代码:
上面代码中:我们知道接口是不能被实例化的,但是 下面这段代码似乎是对接口的实例化
但是,实际上对于上面代码可以理解为:实际是一个类(匿名的)实现了TestInterface接口,并对sayHello()方法进行了具体实现,然后通过该匿名类的对象调用了 sayHello()方法。所以运行此段代码会输出 hello world !
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 !
相关文章推荐
- Java SE 自学笔记9 之 抽象类、接口、内部类、匿名内部类、枚举
- 接口,new,匿名内部类
- 接口 匿名对象 内部类
- 10、匿名内部类实现接口,lambda表达式实现函数式接口
- Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?【Java面试题】
- java编程之线程,实现Runnable接口,匿名内部类的写法
- 第二周第二天(abstract;匿名内部类/单例设计模式/不用for循环求11000的值/finalstatic/interface 接口/instanceof;interface)
- 基于接口实现匿名内部类的注意事项
- Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
- Java面向对象 匿名内部类实现接口
- 如果实现接口的类只使用一次用处不大换为如下简便写法——匿名内部类
- Annoymous Inner Class(匿名内部类)是否可以extends(继承)其他类,是否可以implements(实现)interface(接口)
- 类中定义接口-匿名内部类
- Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
- 接口回调,用最简单的一个匿名内部类来讲解(附接口回调高级应用场景,让你对接口的了解登堂入室)
- [Java基础]接口能否被实例化以及匿名内部类
- java代码关于匿名内部类和接口的方法使用
- Android 监听按钮点击事件的三种方式(1:匿名内部类;2:外部类;3:接口方式)
- 【java基础】内部类,局部内部类,匿名内部类、静态内部类、接口中的内部类
- Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)