Java中子类继承父类报错


public static void main(String[] args){
        ADog a=new ADog();
        a.eat();
        a.drink();
        a.lookhome();
        a.breakhome();
        CDog b=new CDog();
        b.eat();
        b.drink();
        b.lookhome();
        
    }
}
class Dog{
    public void eat(){
        System.out.println("吃狗粮");
    }
    public void drink(){
        System.out.println("喝水");
    }
    public void lookhome(){
        System.out.println("看家");
    }
}
class ADog extends Dog{
    public void breakhome(){
        System.out.println("拆家");
    }
}
class BDog extends Dog{
    @Override
    public void eat(){
        super.eat();
        System.out.println("吃骨头");
    }
}
class CDog extends Dog{
    @Override
    public void eat(){
        System.out.println("吃剩饭");
        
    }
}

照着书上写的,为什么会一直报错

你的class类要放到外面

完整如下,我这可以运行,你检查是不是少了 花括号 等等语法问题:

/**
 * @author huazie
 * @version 2.0.0
 * @since 2.0.0
 */

public class DogTest {

    public static void main(String[] args) {
        ADog a = new ADog();
        a.eat();
        a.drink();
        a.lookhome();
        a.breakhome();
        CDog b = new CDog();
        b.eat();
        b.drink();
        b.lookhome();
    }
}

class Dog {
    public void eat() {
        System.out.println("吃狗粮");
    }

    public void drink() {
        System.out.println("喝水");
    }

    public void lookhome() {
        System.out.println("看家");
    }
}

class ADog extends Dog {
    public void breakhome() {
        System.out.println("拆家");
    }
}

class BDog extends Dog {
    @Override
    public void eat() {
        super.eat();
        System.out.println("吃骨头");
    }
}

class CDog extends Dog {
    @Override
    public void eat() {
        System.out.println("吃剩饭");

    }
}

我看着应该是多了个 } 符号,你看这段行不行

public static void main(String[] args){
        ADog a=new ADog();
        a.eat();
        a.drink();
        a.lookhome();
        a.breakhome();
        CDog b=new CDog();
        b.eat();
        b.drink();
        b.lookhome();
    }
}

class Dog{
    public void eat(){
        System.out.println("吃狗粮");
    }
    public void drink(){
        System.out.println("喝水");
    }
    public void lookhome(){
        System.out.println("看家");
    }
}

class ADog extends Dog{
    public void breakhome(){
        System.out.println("拆家");
    }
}

class BDog extends Dog{
    @Override
    public void eat(){
        super.eat();
        System.out.println("吃骨头");
    }
}

class CDog extends Dog{
    @Override
    public void eat(){
        System.out.println("吃剩饭");
    }
}