内部类学习笔记(三)匿名内部类
2014-06-29 21:05
253 查看
这篇不转载了,自己来写,因为匿名内部类是内部类系列里我认为最难理解的。
A、继承式的匿名内部类。
引用转载代码:
结果输出了:Driving another car! Car引用变量不是引用Car对象,而是Car匿名子类的对象。
建立匿名内部类的关键点是重写父类的一个或多个方法。再强调一下,是重写父类的方法,而不是创建新的方法。因为用父类的引用不可能调用父类本身没有的方法!创建新的方法是多余的。简言之,参考多态。
这里可能大家看的比较迷糊,尤其是
那么我来解释一下这段代码:他相当于
他们的区别在于 xxx这个名字在这里是不需要的。
B、抽象类式和接口式的匿名内部类。
上述是抽象类式的代码,接口的同抽象类的几乎一模一样,只是把abstract 换成interface。
C、参数式的匿名内部类
引用转载代码:
如果你能把前A、B都搞清楚,这里就无需解释了。
总结:匿名内部类的核心就是“继承”与“实现”,因为内部类没有构造方法,因此内部类的初始化只有“代码块”。
你只要想,抽象类和接口怎么会new 出实例呢?一定是他们的子类。
A、继承式的匿名内部类。
引用转载代码:
结果输出了:Driving another car! Car引用变量不是引用Car对象,而是Car匿名子类的对象。
建立匿名内部类的关键点是重写父类的一个或多个方法。再强调一下,是重写父类的方法,而不是创建新的方法。因为用父类的引用不可能调用父类本身没有的方法!创建新的方法是多余的。简言之,参考多态。
这里可能大家看的比较迷糊,尤其是
Car car = new Car(){ public void drive(){ System.out.println("Driving another car!"); } };
那么我来解释一下这段代码:他相当于
他们的区别在于 xxx这个名字在这里是不需要的。
B、抽象类式和接口式的匿名内部类。
上述是抽象类式的代码,接口的同抽象类的几乎一模一样,只是把abstract 换成interface。
C、参数式的匿名内部类
引用转载代码:
如果你能把前A、B都搞清楚,这里就无需解释了。
总结:匿名内部类的核心就是“继承”与“实现”,因为内部类没有构造方法,因此内部类的初始化只有“代码块”。
你只要想,抽象类和接口怎么会new 出实例呢?一定是他们的子类。
相关文章推荐
- 内部类学习(四)--匿名内部类
- 匿名内部类学习笔记InnerClassDemo4.java
- 学习笔记 Java_ch04_内部类内部接口 2014.7.27
- java匿名内部类 学习笔记
- Java学习笔记57. 再谈接口,兼论匿名内部类
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
- Java 梳理类,对象,继承,学习成员内部类,匿名内部类
- 【Java学习笔记之二十六】深入理解Java匿名内部类
- 0027 Java学习笔记-面向对象-(非静态、静态、局部、匿名)内部类
- 【学习笔记15】java面向对象-匿名内部类
- Java学习笔记15(面向对象八:匿名对象、内部类)
- 内部类学习笔记(一)成员内部类
- Java自学笔记(第九天)-内部类-成员内部类-局部内部类-匿名内部类-
- 【Java学习笔记之二十六】深入理解Java匿名内部类
- java学习笔记day06---匿名内部类
- java学习笔记——匿名内部类
- 黑马程序员--Java学习笔记之面向对象思想(多态、内部类、匿名内部类、异常类)
- Android(java)学习笔记75:匿名内部类的方式实现多线程程序
- 学习笔记-匿名内部类
- Java学习笔记-匿名内部类