62,614
社区成员
发帖
与我相关
我的任务
分享
public class A{
//在栈中创建b引用
//在堆中创建一个B的对象
//b引用指向B对象
private B b = new B();
//在栈中创建c引用
private C c ;
public void createC(){
//在堆中创建一个B的对象,
//修改b的引用,使引用指向它
c = new C();
}
public D createD(){
//在栈中创建d引用
//在堆中创建一个D的对象
//d引用指向D对象
D d = new D();
}
public static void main(String[] args){
//在栈中创建a引用
//在堆中创建一个A的对象
//a引用指向A对象
A a = new A();
a.createC();
a.createD();
/*
问题?
b与c变量数据全局的,所以会比d存活的久一点
那堆中的B、C、D对象的生命周期一样长吗?
*/
}
public class A{
private B b = new B();
private C c ;
public void createC(){
c = new C();
}
public void createD(){
D d = new D();
}
public void finalize()
{
System.out.println("Finalizing A.");
}
public static void main(String[] args){
A a = new A();
a.createC();
a.createD();
while(true)
System.gc();
}
}
class B
{
public void finalize()
{
System.out.println("Finalizing B.");
}
}
class C
{
public void finalize()
{
System.out.println("Finalizing C.");
}
}
class D
{
public void finalize()
{
System.out.println("Finalizing D.");
}
}