一类的五大成员:
属性,方法,构造器,代码块,内部类;
内部类的最大特点:
可以直接访问私有属性,并且可以体现类和类之间的包含关系;
二内部类的分类:
①局部内部类(有类名):
定义在外部类局部位置上,比如方法内():
(1)可以直接访问外部类的所有成员,包含私有的;
(2)不能添加访问修饰符,因为它的地位就是一个局部变量,局部变量不能使用修饰符,但是可以使用final修饰,因为局部变量也可以使用final修饰;
(3)作用域:仅仅定义在它的方法或代码块中;
(4)局部内部类--访问--->外部类的成员[访问方式:直接访问]
(5)外部类--访问---->局部内部类的成员:访问方式:创建对象,再访问(注意:必须在作用域内);
(6)外部其他类---不能访问--->局部内部类(它属于局部变量)
(7)如果外部类和局部内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员) 去访问
②匿名内部类(没有类名)
定义在外部类的成员位置上:
getclass获取到对象的运行类型;
③成员内部类(没有用static修饰)
(1)可以直接访问外部类的所有成员,包含私有的
(2)可以添加任意访问修饰符(public,protected,default,private)因为它的地位就是一个成员。