带参构造方法的参数用双参还是三参?

来源: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回答

好帮手慕小尤

2020-09-13

同学你好,如果存在多个属性,则有的属性并不需要直接赋值,则是可以不设置全参构造的。不过在此案例中,需要在toString()方法中需要输出taste属性,所以在此案例中建议创建三参构造(全参构造)。如下所示:

http://img.mukewang.com/climg/5f5d9165092df3f605710099.jpg

祝学习愉快!

0

0 学习 · 16556 问题

查看课程