在java中,为什么要将对象作为参数传递?
我知道如何将对象作为参数传递,但我需要知道它们在编程中的用途 它有什么用处 请告诉我。提前感谢。在java中,为什么要将对象作为参数传递?,java,object,parameters,arguments,Java,Object,Parameters,Arguments,我知道如何将对象作为参数传递,但我需要知道它们在编程中的用途 它有什么用处 请告诉我。提前感谢。Box mybox2=新邮箱(mybox)本质上是一个复制构造函数 在构造函数中,理想情况下,您可以将myBox的属性复制到myBox2中 好处不多: 克隆方法的替代方法 只需提取参数的数据,就可以转发给 正则构造函数 可以与不可变对象一起使用 当您有具有许多属性的对象并且希望复制它们时 这也是一个很好的解读:它几乎只是用来复制对象。它可以以试错的方式使用,也可以像保存状态一样使用 以记事本为例,
Box mybox2=新邮箱(mybox)
本质上是一个复制构造函数
在构造函数中,理想情况下,您可以将myBox的属性复制到myBox2中
好处不多:
- 克隆方法的替代方法
- 只需提取参数的数据,就可以转发给 正则构造函数
- 可以与不可变对象一起使用
- 当您有具有许多属性的对象并且希望复制它们时
这也是一个很好的解读:它几乎只是用来复制对象。它可以以试错的方式使用,也可以像保存状态一样使用 以记事本为例,您用5个单词保存一个文档,然后在其中再写5个单词。它几乎复制了自己,增加了5个单词 这似乎真的很难解释 如果有意义的话,您可以在不更改原始框的情况下更改复制框 希望有帮助
贾罗德。这是一个非常广泛的问题;)试着用一种更简单的方式思考
对象
:
编程中的对象类似于现实世界中的对象。比如说“门”。门是一个对象,该对象具有某些属性。例如,它可以是木制的,也可以是蓝色的。然后此门可以附着其他对象。比如“门把手”。在Java中,这可能如下所示:
Box mybox = new Box(1,2);
Box mybox2 = new Box(mybox);
就在这里。你的门需要另一个物体——门把手。因此,在您的示例中,您将一个框
对象传递给另一个框
对象,可能与其他人所说的将框属性复制到新框中一样:
public class Door{
String color;
String material;
Knob doorKnob;
public Door(String color, String material, Knob doorKnob){
this.color = color;
this.material = material;
this.doorKnob = doorKnob;
}
}
public class Knob{
String material;
public Knob(String material){
this.material = material;
}
}
// then when you want to create your door you first have to get a doorknob
....
Knob myDoorKnob = new Knob("chrome");
Door myDoor = new Door("blue", "wood", myDoorKnob);
嗨,安妮什,我知道。但我想知道我们为什么要这么做?例如,构造函数用于初始化变量。我需要这样的回答。将对象作为参数传递的原因是什么?谢谢,我懂一点。但还是很困惑。我的意思是,当你可以简单地传递变量或使用过的输入时,为什么你需要把对象作为变量传递呢?我想是简单的缘故。。。例如,矩形:
Rectangle()
-Rectangle(int-width,int-height)
-Rectangle(int-x,int-y,int-width,int-height)
-Rectangle(Rectangle-r)
您可以有一个空白矩形,一个0,0处的矩形,带宽度和高度,一个带宽度和高度的矩形,或者从原始图像上复制一个矩形。。。所以,不用一直输入x,y,width,height,你只需要写,rect。对不起,我还是很困惑谢谢你,伙计。一个明确的答案。哇,现在我明白这个概念了。
public class Box{
String content;
public Box(Box that){
this.content = that.getContent();
}
public String getContent(){
return this.content;
}
}