java学习笔记19——静态内部类

来源:互联网 发布:学生安全教育平台软件 编辑:程序博客网 时间:2024/06/07 07:06
  用static修饰一个内部类,则这个内部类就属于外部类本身,而不属于外部类的某个对象。因此也被称为类内部类,或者静态内部类。static是把类的成员变量变成类相关,而不是实例相关。外部类的上一级程序单元是包,所以不可以用static修饰;而内部类的上一级程序单元是外部类,使用static修饰可以将内部类变成外部类相关,而不是外部类实例相关。因此,static不可修饰外部类,但可修饰内部类。
        非静态内部类不能包含静态成员,但是静态内部类可以包含静态成员。根据静态成员不能访问非静态成员的规则,静态内部类不能访问外部类的势力成员,只能访问外部类的类成员。静态内部类对象不是寄存在外部类对象里的,而是寄存在外部类的类本身中。
        内部类的类名不再是简单的由内部类的类名组成,它实际上还把外部类的类名作为一个命名空间,作为内部类类名的限制。因此,子类中的内部类和父类中的内部类不肯能完全同名。即时二者所包含的的内部类的类名相同,但因为它们所处的外部类的类名不同,所以它们不可能完全同名,也就不可能被重写。
0 0
原创粉丝点击