带参构造方法的参数用双参还是三参?
来源: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属性,所以在此案例中建议创建三参构造(全参构造)。如下所示:
祝学习愉快!
相似问题