java基础(面向对象进阶高级)内部类
内部类
内部类概述、成员内部类 (了解)
内部类创建对象:
一定要继承外部类对象,才能创建内部类对象。
拓展:成员内部类访问外部类的成员特点:
成员内部类中,是否可以直接访问外部类的实例成员??
当然可以啊,因为是继承外部类的对象,当然可以直接访问外部类的实例成员
在这里,new Heart()先去找内部类的show(),然后到People,this.heartBeat(),
然后再去new People查找成员变量:
静态内部类(了解)
扩展:
1、静态内部类中,是否可以直接访问外部类的静态成员??
可以
2、静态内部类中,是否可以直接访问外部类的实例成员??
不可以,为什么不能访问外部类对象呢?因为静态内部类是不是属于外部类本身持有的,
当访问外部类实例成员时,它怎么去找对象?是不是没有对象,所以不能访问。
局部内部类(了解)
匿名内部类[重点]
匿名内部类是子类:
匿名内部类的使用场景: