java程序问题:return后加new是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:58:37
public class point2d(
protect int x;
protect int y;

public point2d(int x, int y)
{this.x=x;
this y=y;)
}
public point2d getcopygotme()
{
return new point2d(x,y)}
}

为什么retrurn后面要加new呢?不是返回一个值吗?
那如果我写如下语句:point2d a= new point2d(2,3);
a.getcopygotme();
他会返回什么?
我现在已经创建了一个point2d,getcopygotme()不是返回他的值吗?

return new point2d(x,y)
相当于
point2d a = new point2d(x,y);
return a;

public point2d getcopygotme() 这个方法返回的是point2d的对象。
所以说
point2d a= new point2d(2,3);
a.getcopygotme();
这样谢谢的话a.getcopygotme();返回的还是point2d。

上面的代码看不出有什么意义,应该是作为学习用的代码吧。

这里返回的是一个对象,
创建对象时,是不是要 使用new啊,后面的是它的构造函数,
不要以为 返回值就只能是 int 什么之类的,
对象也是可以作为返回值得

你的补充好像不太对,改成:
point2d a= new point2d();
a.getcopygotme(2,3);
的话,就相当于带两个参数的构造函数的使用了;

这里的point2d()指是方法,方法当然是要new的啊,你是不是把它当成是类的point2d了,这里public point2d getcopygotme的这个方法返回的是一个对象(point2d的这个方法),这是正统的java思想,而不是一个值.

一般的在java中,new是关键字,用于生成一个类的对象。
如果程序中的一个方法中出现return后有new,只会说明,这个方法的返回类型是某个类,而它返回的是一个对象,这个对象是通过new生成的。

return 跟new没有什么直接的关系

只是你的方法需要返回值,return new ..()
就是临时产生一个对象返回回去