java学习笔记19——静态内部类
2014-01-23 09:55
197 查看
用static修饰一个内部类,则这个内部类就属于外部类本身,而不属于外部类的某个对象。因此也被称为类内部类,或者静态内部类。static是把类的成员变量变成类相关,而不是实例相关。外部类的上一级程序单元是包,所以不可以用static修饰;而内部类的上一级程序单元是外部类,使用static修饰可以将内部类变成外部类相关,而不是外部类实例相关。因此,static不可修饰外部类,但可修饰内部类。
非静态内部类不能包含静态成员,但是静态内部类可以包含静态成员。根据静态成员不能访问非静态成员的规则,静态内部类不能访问外部类的势力成员,只能访问外部类的类成员。静态内部类对象不是寄存在外部类对象里的,而是寄存在外部类的类本身中。
内部类的类名不再是简单的由内部类的类名组成,它实际上还把外部类的类名作为一个命名空间,作为内部类类名的限制。因此,子类中的内部类和父类中的内部类不肯能完全同名。即时二者所包含的的内部类的类名相同,但因为它们所处的外部类的类名不同,所以它们不可能完全同名,也就不可能被重写。
非静态内部类不能包含静态成员,但是静态内部类可以包含静态成员。根据静态成员不能访问非静态成员的规则,静态内部类不能访问外部类的势力成员,只能访问外部类的类成员。静态内部类对象不是寄存在外部类对象里的,而是寄存在外部类的类本身中。
内部类的类名不再是简单的由内部类的类名组成,它实际上还把外部类的类名作为一个命名空间,作为内部类类名的限制。因此,子类中的内部类和父类中的内部类不肯能完全同名。即时二者所包含的的内部类的类名相同,但因为它们所处的外部类的类名不同,所以它们不可能完全同名,也就不可能被重写。
相关文章推荐
- 19. JAVA 网络编程 Part 1 (IP与InetAddress类、URL与URLConnection类、URLEncoder与URLDecoder类、TCP&UDP)---- 学习笔记
- Java学习笔记_19_String类
- Java学习笔记1/19/2018
- java/android 设计模式学习笔记(19)---状态模式
- 【8-19】java学习笔记01
- Effective Java 学习笔记(19)
- [置顶] JavaSE学习笔记_19:Java-GUI
- java学习笔记-设计模式19(命令模式)
- 【Java学习笔记】19:Guarded Suspension Pattern
- Java学习笔记_成员内部类,静态内部类,方法内部类
- 静态内部类学习笔记InnerClassDemo2.java
- java学习笔记19
- Java学习笔记19
- 黑马程序员—19—java基础:有关File类的学习笔记和学习心得体会
- java学习个人笔记---非静态内部类
- 区别 String 类 和 StringBuffer 类 -Java 学习笔记 (19)
- Java学习笔记19(String类)
- 黑马程序员---java学习笔记之面向对象:静态内部类
- Java学习笔记(19)--关键字static详解
- (19)Java学习笔记——多线程02