package unit5;
public class Apple
{
private String name;
private String color;
private double weight;
//两个参数的构造器A
public Apple(String name,String color)
{
this.name=name;
this.color=color;
}
//两个参数的构造器B
public Apple(String name,String color,double weight)
{
//通过this调用另一个重载的构造器
//用this调用构造器,必须在执行体第一句调用
this(name,color);
this.weight=weight;
}
public static void main(String[] args)
{
}
}
用this调用另一个构造器只能在构造器中使用,而且必须在构造器执行体第一条语句使用。
为什么要用this来调用另一个重载的构造器?而不是把另一个构造器的代码复制粘贴到这个构造器里?
从功能的实现上来看,复制、粘贴确实可以实现这个效果;
软件开发里有一个规则:不要把相同的代码书写两次以上。
软件是一个需要不断更新的产品,代码书写一次更利于更新和维护。