标签:方便 结构 目的 static 成员 私有 外部类 依赖关系 产生
前言:本篇内容完全是本人观看各路大咖给出来的资料所获得的想法整合,如有出错请第一时间给予良心指正!
什么是静态内部类?
PS:在了解静态内部类之前,小编觉得有必要先了解下什么是内部类,为什么需要内部类。
首先内部类就是在一个类中再定义一个类,而新定义的这个类就是内部类。而为什么需要内部类呢?这就好比你设计类 B 的目的只是为了给类 A 使用,那么,我们就可将其设定为内部类,没有必要将类 B 设置成单独的 Java 文件,防止与其他类产生依赖关系。说回注主题什么是静态内部类,顾名思义就是在一个类中创造了一个以static定义的类!
为什么需要静态内部类?
只是为了降低包的深度,方便类的使用,静态内部类适用于包含类当中,但又不依赖与外在的类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。
静态内部类和其他内部类有什么不同?
静态内部类只能访问外部类的静态成员。生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in=new Outer.Inner();而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类。可以定义私有静态内部类。
以代码形式列一个例子:首先我创造一个类为Student ,接下来我在Student 这个类中创造了一个名为Color这个非静态内部类,我在测试类中要调用这个内部类的话就必要先
创造一个名叫stu对象:Student stu = new Student (),然后在用stu+" . " 调出Color这个内部类。如果Color为静态内部类时,那我们就可直接通过Student这类+“ . ”调用出来它来!
标签:方便 结构 目的 static 成员 私有 外部类 依赖关系 产生
原文地址:https://www.cnblogs.com/aiwoma/p/11199434.html