大家好,今天我们继续来看看内部类,今天我们来学习一下内部类的分类,我们来看看一共有几种,它们有什么作用,那么话不多说,我们直接开始。
9.1 内部类的分类
先来看下,内部类都可以在一个类的哪些位置进行定义
根据内部类定义的位置不同,一般可以分为以下几种形式:
1、成员内部类(普通内部类:未被static修饰的成员内部类和静态内部类:被static修饰的成员内部类)
2、局部内部类(不谈修饰符)、匿名内部类
注意:内部类其实日常开发中使用并不是非常多,大家在看一些库中的代码的时候可能会遇到的比较多,日常开发中使用最多的是匿名内部类.
注:在外部类中,内部类定义位置与外部类成员所处的位置相同,因此称为成员内部类..
9.1.1实例内部类.
即未被static修饰的成员内部类
注意事项
1.外部类中的任何成员都可以在定例内部类方法中直接访问
2.实例内部类所处的位置与外部类变量位置相同,因此也受public, private笔访问限定符的约束.
3.在实例内部类方法中访问同名的成员时,优先访问自己的,如果要访问外部类同名的成员,必须:外部类名称.this.同名成员来访问
4、实例内部类对象必须在先有外部类对象前提下才能创建.
5.实例内部类的非静态方法中包含了一个指向外部类对要的引用.
6.外部类中,不能直接访问实例内部类中的成员,如果要访问必须先要创建内部类的对象.(相当于成员变量,不初始化无法使用)
那么今天分享就到这里,谢谢大家!!!