实例内部类、静态内部类和匿名内部类小总结
内部类:
实例内部类
静态内部类
匿名内部类
本地内部类
实例内部类
1.如何拿到实例内部类的对象?
将实例内部类当做一个实例方法,
外部类调用内部类的实例方法。
2.在实例内部类当中,是否可以定义静态的数据成员?
可以,用static final修饰的
static final必须是在编译期间确定的
3.内部类可以访问外部类的所有数据成员,包括私有的。
4.实例内部类是否有额外的开销?
利用外部类.对象,可以调用外部类对象的引用。
有,实例内部包含外部类的对象的引用。
this是一个静态成员
外部类类名$内部类类名
静态内部类(顶级嵌套类):
1.如何拿到静态内部类的对象?
外部类名.内部类名 实例对象 = new 外部类名.内部类名
2.静态内部类能否访问到外部类的实例成员?
不能直接访问,可以间接访问
匿名内部类:
new MyThread(){
}
重写父类的的方法
内部类.func();