继承类不编译

时间:2014-03-12 02:30:01

标签: java inheritance

我正在玩代码并且今天在课堂上学习了继承,不能让它编译并且不知道什么是错的,只是说它找不到C中的行colorfeathers = c

public class Bird extends inheritance{

    private String colorFeathers;

    public Bird(String c, String n){
        super("Bird:" , n, 2, 0);
        colorFeathers = c;
    }

    public String GetColor(){return colorFeathers;}

    public void setColors(){colorFeathers = c;}

    public String toString(){             
        String hold = super.toString(); 
        hold += "color:" + colorFeathers;
        return hold;   
    }
}

3 个答案:

答案 0 :(得分:1)

问题出在public void setColors(){colorFeathers = c;} 您没有将c作为字符串传递,因此变量在setColors method

的上下文中是未知的

答案 1 :(得分:0)

你错过了这里的参数

 public void setColors(String c){colorFeathers = c;}

假设超类中的所有其他东西都没问题

答案 2 :(得分:0)

此功能中的c

public Bird(String c, String n){
   super("Bird:" , n, 2, 0);
   colorFeathers = c;
}

仅存在于该功能中。功能完成后,c不再存在。因此,这次调用c变量

public void setColors(){colorFeathers = c;}

无法工作。

也许你还想让setColors拥有c参数?喜欢这个

public void setColors(String c){colorFeathers = c;}