带参构造方法的参数用双参还是三参?
来源:2-9 编程练习
谁叫我这么坏
2020-09-12 23:46:02
我的代码如下,Waxberry 类中实际并没有用到taste属性,那么我是否可以忽略taste属性,直接采用shape+color 双参属性进行构造初始化?
//要求Waxberry类不允许有子类
final public class Waxberry extends Fruits{
// 私有属性:颜色(color)
private String color;
//创建构造方法,完成调用父类的构造方法,完成属性赋值
public Waxberry(){
}
public Waxberry(String shape,String taste,String color){
super(shape,taste);
this.color=color;
}
//创建不允许重写的face方法,描述为:杨梅:**、**,果味酸甜适中
final public String face(){
String str = "杨梅:"+this.color+"、"+this.getShape()+",果味酸甜适中。";
return str;
}
//重写父类eat方法,描述为:杨梅酸甜适中,非常好吃!
public void eat(){
System.out.println("杨梅酸甜适中,非常好吃!");
}
//重写toString方法,输出的表现形式不同(输出shape,color,taste)
public String toString(){
String str = "杨梅的信息:果实为"+this.getShape()+"、"+this.color+",酸甜适中,非常好吃!";
return str;
}
}1回答
同学你好,如果存在多个属性,则有的属性并不需要直接赋值,则是可以不设置全参构造的。不过在此案例中,需要在toString()方法中需要输出taste属性,所以在此案例中建议创建三参构造(全参构造)。如下所示:

祝学习愉快!
相似问题