匿名内部类
第一部分
1.概念
匿名内部类其实就是内部类的简写格式;其实匿名内部类就是一个匿名子类对象;
2、匿名内部类的前提
内部类必须是继承一个类或者实现接口,换句话说这个内部类必须要和外部类或者接口要有关系;3、匿名内部类的格式:
new 父类或者接口(){定义子类的内容}
4、匿名内部类好处
简化书写,覆盖父类的方法;5、匿名内部类的弊端
5.1、不可以直接调用匿名内部类自己的方法;5.2、当父类的方法过多的话,那么不建议使用匿名内部类,阅读性差;匿名内部类里面的方法通常情况下不超过3个;6、匿名内部类代码体现
//举的是一个抽象的 abstract class AbsDemo { abstract void show();//抽象方法不应该有主体 } class Outer { int x=8; // 抽象类在每个类中内部进行实现 // class Inner extends AbsDemo // { // public void show() // { // System.out.println("show:"+x); // } public void function() { // new Inner().show(); // new父类 下面是AbsDemo的子类对象,因为只有子类才能覆盖AbsDemo中的抽象方法; new AbsDemo() { // 把AbsDemo类中的抽象方法给实现了 public void show() { System.out.println("x="+x); } }.show();//调用show方法。 } } class InnerClassDemo4 { public static void main(String[] args) { new Outer().function(); } }7、运行后的结果
8、我的总结
8.1、如果在父类中的抽象方法非常多,那么不要使用匿名内部类;8.2、匿名内部类就是匿名子类对象;8.3、匿名内部类其实就是建立匿名子类对象,再覆盖父类中的方法;8.4、写匿名内部类里面的方法一般不超过3个,在调用匿名内部类里面的方法,这样比较方便;

754

被折叠的 条评论
为什么被折叠?



