gpt4 book ai didi

java - 在方法或构造函数之外实例化对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:57 26 4
gpt4 key购买 nike

我对此感到困惑:

class ClassA {

ClassB car = new ClassB();

ClassA(){
}

someMethod(){
}

}


ClassC{

ClassC(){
}

someMethod(){
ClassA spaceship = new ClassA();
}

}
  • B 类未在构造函数或方法。而且它也没有声明为静态的。所以,当 classB 是实例化?

  • “car”实例存在多长时间?其他换句话说,如果“宇宙飞船”实例(A 类)得到垃圾收集?

最佳答案

So, when exactly classB is instantiated?

我认为 ClassA 初始化时 ClassB 也被初始化。更准确地说,首先是将对象分配给内存,然后初始化其字段(因此您的 car 变量),然后调用构造函数。

How long does the 'car' instance live for?

只要 ClassA 普遍存在。但是,如果您明确地将您的汽车分配给 NULL,那么如果它的“父级”还活着,那么它也会被释放。

关于java - 在方法或构造函数之外实例化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729277/

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