一个关于java实例化对象的问题!~~~想不通,望高手解答啊~~~感激不尽
来源:百度知道 编辑:UC知道 时间:2024/05/26 04:45:39
在同一个类中实例化自己所属于的那个类的对象,那样的话内存的变化到底是怎么变化的??比如这样的程序:
class PassRef
{
int x ;
public static void main(String [] args)
{
PassRef obj = new PassRef();
obj.x = 5;
change(obj);
System.out.println(obj.x);
}
public static void change(PassRef obj)
{
obj.x=3;
}
}
比如PassRef obj = new PassRef();这句它实例化了一个自己所属的类的对象,但是如果在堆内存中实例化这样一个对象的话那在那个对象中不是又要用这一句去实例化另一个对象,这样的话不是没完没了了吗???怎么好像变成死循环了!~???????望高手解答呀!~~~~
class PassRef
{
int x ;
public static void main(String [] args)
{
PassRef obj = new PassRef();
obj.x = 5;
change(obj);
System.out.println(obj.x);
}
public static void change(PassRef obj)
{
obj.x=3;
}
}
比如PassRef obj = new PassRef();这句它实例化了一个自己所属的类的对象,但是如果在堆内存中实例化这样一个对象的话那在那个对象中不是又要用这一句去实例化另一个对象,这样的话不是没完没了了吗???怎么好像变成死循环了!~???????望高手解答呀!~~~~
楼主理解错了,实际上要实现你说的死循环的情况是在一个类中的构造函数中定义这个类的对象,例如:
class A
{
public A()
{
A a=new A();
}
public static void main(String [] args)
{
}
}
这样就会进入一个死循环,因为类的实例化是调用构造函数。希望你能搞清楚类的实例化过程
实例化一个类只是 让该对象具有该类的属性`` 又不是执行!
这里你要了解一个事情,main方法是程序的入口,你运行这个程序的话,Java虚拟机会首先自动执行这个类的main方法,这个类中的main方法中虽然又实例化了这个类的实例,但不会再自动调用该实例的main方法,因此当然不会死循环啊
你实例化这个对象,它又不会执行你的main方法。再说main方法本身是静态方法
仲蠢过你老豆
main 方法是程序的入口
在JAVA里什么叫对象的实例化,对象,引用
java 中ArrayList 类中如何向其中添加另外一个ArrayList实例后的对象
关于JAVA Classpath问题的一个实例,请分析
用JAVA编写类具有一个静态变量count每当创建一个新的实例对象时count就加一.最后显示类具有多少个实例对象
C++ 中,类的实例化对象是指什么?如果确保它的实例化对象只得一个?
Java里面的对象、实体、实例的关系。。。?
为什么java中的直接用Thread类实例化对象的时候必须要这样子?
java的实例---我要一个!!!
java |与||的一个实例区别
请教一下java里类和对象和对象实例的区别