台阶钢筋:JAVA问题,急急

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 05:26:19
class Box{
double width;
double height;
double depth;
Box(Box ob){
width=ob.width;
height=ob.height;
depth=ob.depth;
}
Box(double w,double h,double d){
width=w;
height=h;
depth=d;
}
Box(){
width=-1;
height=-1;
depth=-1;
}
Box(double len){
width=height=depth=len;
}
double volume(){
return width*height*depth;
}
}
class Overload1{
public static void main(String args[]){
Box mybox1=new Box(10,20,30);
Box mybox2=new Box();
Box mycube=new Box(7);
Box myclone=new Box(mybox1);
double vol;
vol=mybox1.volume();
System.out.println(vol);
vol=mybox2.volume();
System.out.println(vol);
vol=mycube.volume();
System.out.println(vol);
vol=myclone.volume();
System.out.println(vol);
}
}
中间这段代码Box(Box ob){
width=ob.width;
height=ob.height;
depth=ob.depth;
}起什么作用,是和Box myclone=new Box(mybox1);联系到一起的吗?请详细的说明一下!
如果要用Box myclone=new Box(mybox1);必须得有Box(Box ob)是吗,相当于(mybox1);是(Box ob)类型吗

Box(Box ob){
width=ob.width;
height=ob.height;
depth=ob.depth;
}
构造函数,只不过参数是Box 类型的,简单的说也就是将一个已经存在的Box对象复制给新创建的对象,相当于克隆。
Box mybox1=new Box(10,20,30);//这是创建mybox1对象
Box myclone=new Box(mybox1); //这是创建myclone对象
Box myclone=new Box(mybox1);用到的就是Box(Box ob),其结果是myclone对象是和mybox1一样的。