java中非静态内部类不能有静态代码块、静态方法、静态变量?
2018-03-18 20:53
323 查看
非静态内部类相当于外部类中的非静态成员变量,而如果外部类需要调用非静态成员变量就需要先实例化才可以,如果非静态内部类中有静态方法块,那么又可以在加载类的时候提前加载,不需要考虑外部类的实例化,所以有矛盾,所以不可以。
为什么非静态内部类中可以有静态常量?(static final)
因为常量存放在常量池中,在编译时就已经加载进去了,所以不需要考虑是否静态。
为什么非静态内部类中可以有静态常量?(static final)
因为常量存放在常量池中,在编译时就已经加载进去了,所以不需要考虑是否静态。
相关文章推荐
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
- Java中非静态代码块,静态代码块和构造方法的初始化顺序
- java中静态的代码块,静态变量,静态方法
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
- java中静态的代码块,静态变量,静态方法
- java中的静态变量、静态方法与静态代码块区别
- java静态方法中不能引用非静态变量
- Java中静态代码块,静态变量,静态方法,构造方法初始化顺序
- java中的静态变量、静态方法与静态代码块详解与初始化顺序
- java中的静态变量、静态方法与静态代码块
- 【java之静态】java中的静态代码块、静态变量、静态方法
- [java]静态方法不能调用静态变量
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
- java静态方法中不能引用非静态变量
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 【13】Java基础:java中的静态代码块,静态变量,静态方法
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 【转载】Java中静态的代码块,静态变量,静态方法
- java中静态的代码块,静态变量,静态方法
- Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序