美文网首页
java非static内部类中不能声明static

java非static内部类中不能声明static

作者: zyco | 来源:发表于2017-09-23 11:05 被阅读142次

非static的内部类,在外部类加载的时候,并不会加载它,所以它里面不能有静态变量或者静态方法。
1、static类型的属性和方法,在类加载的时候就会存在于内存中。
2、要使用某个类的static属性或者方法,那么这个类必须要加载到jvm中。
基于以上两点,可以看出,如果一个非static的内部类如果具有static的属性或者方法,那么就会出现一种情况:内部类未加载,但是却试图在内存中创建static的属性和方法,这当然是错误的。原因:类还不存在,但却希望操作它的属性和方法。

相关文章

  • java非static内部类中不能声明static

    非static的内部类,在外部类加载的时候,并不会加载它,所以它里面不能有静态变量或者静态方法。1、static类...

  • 类的编译期与运行期

    非静态内部类 非静态内部类到底可以有静态属性吗? static成员变量,或者static final常量 非静态内...

  • Final 和方法中的内部类

    在 Java 的内部类的机制中,非 static 的内部类可以会持有外部类的 this 引用,因此可以访问外部类的...

  • 静态内部类

    非静态内部类: 非静态内部类中不能有静态方法、静态成员变量、静态初始化块。 静态内部类: 如果使用static...

  • Java 中的静态内部类

    Java 中的静态内部类 静态内部类是 static 修饰的内部类,这种内部类的特点是: 1、 静态内部类不能直接...

  • (java知识小总结二)2018-05-31

    5.2Java 中的静态内部类:静态内部类是 static 修饰的内部类 特点:(1)、 静态内部类不能直接访问外...

  • java中static关键字的用法和注意点

    <>中写到"static方法就是没有this的方法。在static方法内部不能调用非静态方法,...

  • C#学习笔记<五> static

    1 静态成员 static成员中不能调用非static成员非static成员中可以调用static成员静态成员类似...

  • java中的内部类

    java中内部类非为四种: 成员内部类: 和类的成员在同一级 静态内部类: 和成员内部类的区别是使用了static...

  • Java中static的用法

    在Java中,static可以修饰成员变量、成员方法、代码块和内部类。 1. static修饰成员变量 stati...

网友评论

      本文标题:java非static内部类中不能声明static

      本文链接:https://www.haomeiwen.com/subject/mnqcextx.html