欢迎来到天天文库
浏览记录
ID:21893560
大小:97.09 KB
页数:7页
时间:2018-10-25
《黑马程序员java教程:匿名内部类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、匿名内部类 定义: 就是内部类的简化写法。 前提: 内部类可以继承或实现一个外部类或者接口。 格式: new外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)} 简单理解: 就是建立一个带内容的外部类或者接口的子类匿名对象。 什么时候使用匿名内部类呢? 通常使用方法是接口类型参数,并且该接口中的方法不超过三个,可以将匿名内部类作为参数传递。 好处: 增强阅读性。 示例1:1.abstractclassDemo{2. abstractvoidshow();3.}4.5.
2、classOuter{6. intnum=4;7.8. voidmethod(){9. newDemo(){//匿名内部类10. voidshow(){11. System.out.println("show......"+num);12. }13. }.show();14. }15.}16.17.classInnerClassDemo{18. publicstaticvoidmain(Stri
3、ng[]args){19. newOuter().method();20. }21.}22.复制代码 运行结果: 示例2: 1.interfaceInter{2. voidshow1();3. voidshow2();4.}5.6.classOuter{7. publicvoidmethod(){8. Interin=newInter(){9. publicvoidshow1(){10. System.ou
4、t.println("...show1....");11. }12. publicvoidshow2(){13. System.out.println("...show2....");14. }15. };16. in.show1();17. in.show2();18. }19.}20.21.classInnerClassDemo{22. publicstaticv
5、oidmain(String[]args){23. newOuter().method();24. }25.}26.复制代码 运行结果: 示例3: 1.interfaceInter{2. voidshow1();3. voidshow2();4.}5.6./*7.通常的使用场景之一:8.当函数参数是接口类型时,而且接口中的方法不超过三个。9.可以用匿名内部类作为实际参数进行传递。10.*/11.classInnerClassDemo{12. publicstaticvoid
6、main(String[]args){13. show(newInter(){14. publicvoidshow1(){15. System.out.println("...show1...");16. }17. publicvoidshow2(){18. System.out.println("...show2...");19. }20. }
7、);21. }1. publicstaticvoidshow(Interin){2. in.show1();3. in.show2();4. }5.}6.复制代码 运行结果: 对象的初始化过程 示例: 1.classFu{2. intnum=9;3.4. {5. System.out.println("Fu");6. }7.8. Fu(){9. super();//Object10. //显示初始化11
8、. //构造代码块初始化12. show();1. }2. voidshow(){3. System.out.println("fushow"+num);//被覆盖,运行子类的4. }5.}6.7.classZiextendsFu{8. intnum=8;9.10.
此文档下载收益归作者所有