JAVA内部类
主讲:李金峰
概述
可将一个类定义置入另一个类定义中。这就叫作“内部类”;
内部类可对那些逻辑上相互联系的类进行分组;
可控制一个类在另一个类里的“可见性”。
外部类返回内部类的句柄
外部类有一个特殊函数createFamily()返回了内部类的句柄,使得外部能够通过这个句柄来调用内部类。
通过外部类调用内部类
外部类也可以通过如下方式获得内部类的句柄: I
有点类似oracle中包的概念
内部类上溯造型
内部类通过继承类,抽象类或者接口实现上溯
本例中直接通过Wife抽象类和Husband接口实现了上溯
位于函数内部的内部类
Me类位于getHusband()函数内部,它不属于外部类,外部类无法直接访问。
位于任意区域内的内部类
BuyingSomething 类嵌套于一个if 语句的作用域内。这并不意味着类是有条件创建的——它会随同其他所有东西得到编译。
在定义它的那个作用域之外,它是不可使用
匿名内部类
GegBaby函数中的那个类没有名字,被称为匿名内部类。
这个匿名类是从接口Baby中衍生出来的。
在匿名内部类内初始对象
由于匿名内部类没有名字所以我们不能拥有一个构建器。然而,我们可在定义自己的字段时进行初始化。
若试图使用在匿名内部类外部定义的一个对象,则编译器要求外部对象为final属性
java内部类 来自淘豆网m.daumloan.com转载请标明出处.