请大神帮我看看这个java程序错在哪儿?改了好几遍都无法运行

2024-11-03 04:24:24
推荐回答(3个)
回答1:

我找了几个错误的地方:

  1. 没有main方法

  2. extends 写错了吧

  3. Animal的构造方法里头,你是不是吧“legs”写成了“1eges”一个是字母l,一个是数字1,囧

  4. return 写成了retrun

  5. Animal中的私有变量是不能继承的

回答2:

别的没看 就先看到一个参数 1legs 你确定这样能编译过去? 根本不符合命名规则

回答3:

class Animal
{
    private int    legs;
    private String kind;
    
    public Animal()
    {
        setLegs(4);
    }
    
    public Animal(int legs)
    {
        setLegs(legs);
    }
    
    public void eat()
    {
        System.out.println("eating");
    }
    
    public void move()
    {
        System.out.println("moving");
    }
    
    public void setLegs(int legs)
    {
        if (legs != 0 && legs != 1 && legs != 2 && legs != 4)
        {
            System.out.println("Wrong numbers of legs");
            return;
        }
        this.legs = legs;
    }
    
    public int getLegs()
    {
        return legs;
    }
    
    public void setKind(String str)
    {
        kind = str;
    }
    
    public String getKind()
    {
        return kind;
    }
}

class Fish extends Animal
{
    public Fish(int legs)
    {
        super(legs);
    }
    
    public static void main(String[] args)
    {
        Fish fish = new Fish(0);
        fish.setLegs(0);
        fish.setKind("fish");
    }
}