🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 内部类 ### 1、定义 把一个类定义在某个类中的,这个类就被称为内部类,内置类,嵌套类。 ### 2、访问特点: A:内部类可以直接访问外部类中的成员,因为内部类持有外部类的引用, 格式为:外部类名.this B:外部类要想访问内部类的成员,必须创建对象访问。 ### 3、内部类的访问格式: A:当内部类定义在外部类的成员位置,而且非私有,则可以在其他外部类中直接建立内部类对象 格式:外部类名.内部类名 变量名 = new 外部类对象.内部类对象 如:Outer.Inner in = new Outer().new Inner() B:当内部类在外部类成员位置,且被static修饰时 **外部其他类可直接访问静态内部类的非静态成员 格式:new 外部类名.内部类名().内部类成员 如:new Outer.Inner().function(); **外部其他类可直接访问静态内部类的静态成员 格式:new 外部类名.内部类名.内部类成员 如:new Outer.Inner.function(); ### 4、什么使用时候内部类呢? * 假如有A类和B类,A类想直接访问B类的成员,B类访问A类成员的时候, 需要创建A类对象进行访问,这个时候,就可以把A类定义为B类的内部类。 ### 5、内部类的位置 A:成员位置 **可以被private修饰(Body,Heart) **可以被static修饰。(它访问的外部类的成员必须是静态的) B:局部位置 **可以直接访问外部类中的成员,因为还持有外部类的持用 也可以直接访问局部成员,但是局部成员要用final修饰。 注意:局部内部类不能用private和static修饰 ### 6、通过class文件我们就可以区分是否带有内部类,以及内部类的位置 Outer$Inner:成员内部类 Outer$1Inner:局部内部类