当前位置: 首页 > 知识库问答 >
问题:

其中存储了内部类、静态嵌套类和本地内部类的成员/方法。

仲孙焱
2023-03-14

JVM为内部类成员和方法分配空间的方式有什么不同吗。请提供所有可用类型的嵌套类(静态、本地、非静态、匿名)在此上下文中的区别。我从其他各种渠道寻找,但没有弄清楚。

共有1个答案

方通
2023-03-14

类的静态数据成员与类一起存储,每个实例中的非静态数据成员与类一起存储。无论类本身是静态的、嵌套的、内部的还是匿名的,都没有任何区别。

这些方法,无论是静态的还是非静态的,都与类一起存储,同样,不管类本身是静态的、嵌套的、内部的还是匿名的。

 类似资料:
  • Oracle留档(在下面的链接)说: 非静态嵌套类(内部类)可以访问封闭类的其他成员,即使它们被声明为私有的。 但在下面的示例中,我创建了一个对象(内部类),它无法访问其封闭外部类的任何方法或变量。下面是代码,你能解释一下吗? http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html 使用Main方法初始化 对于对象,我无法访问其

  • 我已经知道java中的内部类不能有静态成员,除非它们被宣布为最终的。但是,理论上不应该在局部类中声明静态成员吗? 例如。 我知道内部类的标准初始化是这样发生的: 但为什么不这样呢?? 当创建OuterClass实例时,它还包含innerClass的副本。因此,如果允许在innerClass中存在静态(只是静态的,但不是最终的)成员,那么应该(或可以)以这种方式访问它们 outer class in

  • 在这里,我试图使用内部静态帮助器类为数据库连接实现一个单例类: 但是,我怀疑这个静态内部类ConnectionHelper何时加载到JVM内存中: 在加载DatabaseConnection类时,还是在调用getInstance()方法时?

  • 静态内部类是指使用 static 修饰的内部类。示例代码如下: 上述示例中的 Inner 类就是静态内部类。静态内部类有如下特点。 1) 在创建静态内部类的实例时,不需要创建外部类的实例。 2) 静态内部类中可以定义静态成员和实例成员。外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。 3) 静态内部类可以直接访问外部类的

  • 问题内容: 静态和非静态嵌套类有什么区别? 问题答案: 根据定义,内部类不能是静态的,因此我将重述您的问题为“静态和非静态嵌套类之间有什么区别?” 非静态嵌套类具有对其嵌套的类的成员的完全访问权。静态嵌套类没有对嵌套实例的引用,因此静态嵌套类无法调用非静态方法或访问嵌套该类的实例的非静态字段。

  • 问题内容: 在Scala中使用Java进行模拟的模拟方式是什么: 我特别希望我的内部类 不必 具有完全限定的名称-即,我不需要。因此,在Scala中,我想到的可能是这样的: 但这似乎不起作用:我的scala 似乎在课堂外都看不到。一种解决方案当然是: 这是确定-但因为我的课的名字,真是的“类型” 和实际上有一个很长的名字。所以: 这是冗长而可怕的。我可以替换为just,但是与它所关联的类之间没有明