当前位置: 代码迷 >> J2SE >> 多个参数类似的构造函数怎么相互引用和简写
  详细解决方案

多个参数类似的构造函数怎么相互引用和简写

热度:267   发布时间:2016-04-24 01:36:45.0
多个参数类似的构造函数如何相互引用和简写?
class Car{

  String brand;
  String horsepower;
  String color;

  Car(String b, String hp){
  brand=b;
  horsepower=hp;
  }

//第二个构造函数加入一个参数,如何简写??
  Car(String b, String hp, String c){
  brand=b;
  horsepower=hp;

  color=c;
  }

}



写成下面这个形式,程序不抱错,但是意义相同吗?

Car(String b, String hp, String c){
new Car(b,hp);

color=c;
}


------解决方案--------------------
Java code
public  Car(String b, String hp, String c){    this(b,bp) ;    color=c;}
------解决方案--------------------
不相同 ,

Car(String b, String hp, String c){
new Car(b,hp);

color=c;
}
 
会多创建一个 Car对象 ,而且当前创建的对象的 b 和 hp没有赋值,还是默认值 

以下是一样的

public Car(String b, String hp, String c){

this(b, hp) ;
color=c;
}

public Car(String b, String hp, String c){
brand=b;
horsepower=hp;
color=c;
}
------解决方案--------------------
探讨

Java code

public Car(String b, String hp, String c){
this(b,bp) ;
color=c;
}

这样写就好了,直接调用已有的构造方法。
  相关解决方案