java静态内部类理解
java静态内部类的理解
需要了解2个概念:内部类和静态修饰符static
1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。
2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。 static关键字的作用是把类的成员变成类相关,而不是实例相关
这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。
以下举例说明怎么使用:
Student类有个叫School的内部类(非静态的内部类!)
Student stu = new Student(); stu.School sch = new stu.School();//必须先实例化外部类,才能.出内部类
sch就是School的一个对象。
假如School是静态内部类:
Student.School sch = new Student.School();
这个内部类就属于外部类本身,而不属于外部类的某个对象
参考:
https://www.cnblogs.com/jinsheng1027/p/11412083.html
https://blog.csdn.net/cd18333612683/article/details/79129503 内有demo