匿名内部类:
注意点:
匿名内部类增加新的方法是不能被直接调用的,因为其引用是父类的,父类类没有新增加的方法.所以无法直接调用.
所以匿名内部类局限于对父类方法重写时的应用,如果增加新的功能还是去新写一个类比较好.
优势:
1 方便
2 传参容易:
比如一个方法中:{
ThreadPool.execute(
new Runable(){
handle(var A); //A可以这样直接传过来,如果不是匿名内部类,就没这么方便了。
}
);
}
内部类:
把内部类当成外部类来处理就可以了;
内部类只是让类的位置换了个地方,不要被名字迷惑,认为他们有什么必然联系,他们之间没有必然的联系;
需要注意内部类未必是当前类的成员变量,他们之间的配合关系要看具体的设计。