作业帮 > 综合 > 作业

java什么时候需要new对象?

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/28 21:21:28
java什么时候需要new对象?
举个例子
public class X{
A a;
B b;
public X{
a=new A()
}
省略若干行
某方法{
a.setxx(xxx)
b=d;
}
}
是不是a由于要set所以必须要new出来?而b=某东东时就不用new了?
最近越想越混乱
java什么时候需要new对象?
你调用某个对象的任何非静态方法时,这个对象必须首先需要被创建
你的a要调用set,所以必须先被创建
而b并没有调用方法,当然不必被创建了
再问: 也就是说,对象的互相传递,比如b=某东东就不需要new,如果这时b=d了,我想要条用b里面的方法,仍然需要new一下b是么?
再答: b=d,表示把d的引用传递给b(必须是通过一个类型的) 其实就是说,b就是d了,你调用b和调用d没有区别 所以,你如果调用b.set相当于调用d.set 再结合一开始说的,那你的d必须是创建过的,否则报null
再问: 我仔细看了下,还真是的,太神奇了,d的确被new过的。。此时调用b就不需要new b了对吧。 您太厉害了。。^ ^
再答: 囧,你就没有好好看学习资料吧?最好从头好好看吧,至少“对象”这一章要从头看
再问: 另外问一句,如果我d没new的话,是不是在b=d的时候就报错了?还是要到调用b里面的方法的时候才报错
再答: 不会报错,因为就算你d没有创建过,他可能是类成员,那么,d的引用已经被创建 b=d只是传递了引用而已,引用的目标是空而已 所以,这里传递不会报错,要调用就会报错了