码迷,mamicode.com
首页 > 其他好文 > 详细

内部类学习笔记(三)匿名内部类

时间:2014-06-30 20:03:14      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:内部类

      这篇不转载了,自己来写,因为匿名内部类是内部类系列里我认为最难理解的。

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 出实例呢?一定是他们的子类。




内部类学习笔记(三)匿名内部类,布布扣,bubuko.com

内部类学习笔记(三)匿名内部类

标签:内部类

原文地址:http://blog.csdn.net/zhao9tian/article/details/35819539

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!