当我们像下面电话: -当使用new操作符调用堆中的Class()时发生多个调用时会发生什么?
class Class{
int x;
public Class(int a){
x = a;
}
public void display(){
System.out.println(x);
}
}
而且在main方法,然后我们使用类的对象,以显示数据: -
new Class(5).display(); // object 1
new Class(7).display(); // object 2
现在,我的问题是: -
我从对象1和对象2中表示的内容是否相等,或者 是不同的(根据堆中的内存位置)?是否在堆中创建两个单独的 内存位置(动态内存分配器)或 是否将使用同一对象(堆中的内存位置)?
我很久以来就有这种困惑。另外我只是Java中的noob。
请详细说明使用new
呼叫的堆段/动态内存分配给Class对象。
你的类被称为'A'时间,但你创建'新Class'? – Bubletan
你的代码不太可能编译,因为你有大写'Class',实际的类名是'A',而不是'Class'。你能否使用编译器检查你的代码,然后编辑提交工作代码的问题? –
@ TagirValeev-对不起,编辑了一下。那个错误!但是,我希望大家清楚大家的想法! – asad