内部类的主要作用如下:
- 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
- 内部类的方法可以直接访问外部类的所有数据,包括私有数据
- 内部类所实现的功能使用外部类同样可以实现
-
Inner类可以使用任意访问控制符,如public、protected、private等
-
定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去new一个内部类对象
-
外部类是不能直接使用内部类成员和方法
-
如果外部类和内部类具有相同的成员变量和方法,内部类默认访问自己的成员变量和方法
Hero garen=new Hero(); Inner i = garen.new.Inner()
静态内部类不能直接访问外部类的非静态成员,但可以通过new 外部类().成员的方式访问;
访问外部类非静态类 new OuCla().a
访问外部类静态 OuCla.b
访问外部类中的同名静态属性 Infro15.classWind
访问外部类中的异名静态属性 classGrass
方法内部类
必须调用才会执行