大家好,今天我们来学习一下内部类,内部类也是封装的体现,那么我们便来看看它的内容吧。
9、内部类
当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么这个内部的完整结构最好使用内部类.在Java中,可以将一个类定义在另一个类或者一个方法的内部,前者称为内部类,后者称为外部类,内部类也是封装的一种体现.
注意事项:
定义在class类名{}花括号外部的,即使是在一个文件里,都不能称为内部类。
内部类:
1.实例内部类/非静态内部类
2.局部内部类
3.静态内部类
4.匿名内部类
public class A{
class b{
}
}
注:1.所有类的特征都能在这个类里面去定义
2.实例内部类类似于一个普通的成员,是需要外部类的对象才能调用,要调用实例化内部类,你必须要有一个外部类的对象。
3、内部类是可以无限套的(一般嵌套三层最多)
下面我们来看这个定义:
内部类实例化需要外部类对象的引用,但是static是在类加载的时候加载的;程序是先加载后运行的,所以static的时机高于内部类实例化的时机的,所以是先执好static再去实例化对象的.
结论:实例内部类,不能有被static修饰的成员变量或者成员方法.
那么今天分享就到这里,谢谢大家!!!