/* 构造器包含的调用
* 构造器B完全包含构造器A,对于这种情况,如果是两个方法之间存在这种情况,
* 则可在方法B中调用方法A。但是构造器不能直接被调用,必须使用new关键字来调用。
* 但是一旦使用new来调用构造器,将会导致系统重新创建一个对象。
* 为了在构造器B中调用构造器A中的初始化代码,又不会重新创建一个JAVA对象,
* 可以使用this关键字来调用相应的构造器。
*/
package gouzaoqichongzai;
public class Apple {
public String name;
public String color;
public double weight;
public Apple(){
}
public Apple(String name,String color){
this.name=name;
this.color=color;
}
public Apple(String name,String color,double weight){
this(name,color);//通过this调用另一个重载的构造器的初始化代码
this.weight=weight;//this应用该构造器正在初始化的java对象
}
public static void main(String args[]){
Apple oc1 = new Apple();
Apple oc2 = new Apple("pingguo","red",11.1);
System.out.println(oc1.name+" "+oc1.color);
System.out.println(oc2.name+" 是"+oc2.color+"重 "+oc2.weight);
}}
* 构造器B完全包含构造器A,对于这种情况,如果是两个方法之间存在这种情况,
* 则可在方法B中调用方法A。但是构造器不能直接被调用,必须使用new关键字来调用。
* 但是一旦使用new来调用构造器,将会导致系统重新创建一个对象。
* 为了在构造器B中调用构造器A中的初始化代码,又不会重新创建一个JAVA对象,
* 可以使用this关键字来调用相应的构造器。
*/
package gouzaoqichongzai;
public class Apple {
public String name;
public String color;
public double weight;
public Apple(){
}
public Apple(String name,String color){
this.name=name;
this.color=color;
}
public Apple(String name,String color,double weight){
this(name,color);//通过this调用另一个重载的构造器的初始化代码
this.weight=weight;//this应用该构造器正在初始化的java对象
}
public static void main(String args[]){
Apple oc1 = new Apple();
Apple oc2 = new Apple("pingguo","red",11.1);
System.out.println(oc1.name+" "+oc1.color);
System.out.println(oc2.name+" 是"+oc2.color+"重 "+oc2.weight);
}}