Box mybox = new Box(1,2);
Box mybox2 = new Box(mybox);
我知道如何将对象作为参数传递,但我需要知道它们在编程中的用途。
它有用吗?
请告诉我。提前谢谢。
答案 0 :(得分:0)
Box mybox2 = new Box(mybox);
本质上是一个复制构造函数。
在构造函数中,理想情况下,将myBox的属性复制到myBox2中。
很少有好处:
同样好的阅读:Josh Bloch on Design
答案 1 :(得分:0)
它几乎只用于复制对象。它可以以反复试验的方式使用,也可以像保存状态一样使用。
以记事本为例,您保存了一个包含5个单词的文档,并在其中再写了5个单词。它几乎是重复的,并添加了5个单词。
似乎很难解释。
如果有意义,您可以在不更改原件的情况下更改复制框。
希望它有所帮助。
贾罗德。
答案 2 :(得分:0)
这是一个非常广泛的问题;)尝试以更简单的方式考虑Objects
:
编程中的对象就像现实世界中的对象。就像一个“门”。门是一个对象,该对象具有某些属性。例如,它可以由木材制成,并且可以具有蓝色。然后这扇门可以附加其他物体。就像“门把手”一样。在Java中,这可能是这样的:
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);
你有它。你的门需要另一个物体 - 门把手。因此,在您的示例中,您将Box
对象传递给另一个Box
对象,可能与其他人说将复制框属性复制到新框中一样:
public class Box{
String content;
public Box(Box that){
this.content = that.getContent();
}
public String getContent(){
return this.content;
}
}