gpt4 book ai didi

java最佳实践——内部类访问外部类静态变量

转载 作者:行者123 更新时间:2023-11-29 06:32:46 25 4
gpt4 key购买 nike

class OuterClass {
static int j=99;

static class InnerClass {

public void doSomething() {
while(true)
OuterClass.j= 100;
}
}
}
}

使用上面的代码,当 OuterClass 需要垃圾收集时,垃圾收集是否有任何问题,但可以说 doSomething 正在引用一个静态变量,这会是一个问题吗?我关心的是内部类通过访问变量 j 引用了外部类,我想知道这是否会影响 OuterClass 成为 GC。

最佳答案

虽然您将其命名为InnerClass,但它不是内部类。它只是一个static 嵌套类。

此类的实例不引用封闭类的任何实例。此外,您引用了封闭类的 static 字段。绝对没有对 OuterClass 的任何实例的引用。

InnerClass 中的任何内容都不能阻止 OuterClass 类型的实例被垃圾回收。

我是不是误解了你的问题?你问的是垃圾收集的类吗?

关于java最佳实践——内部类访问外部类静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28726420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com