(java)想问下为什么这样会报错?

是抽象类相关的问题,设置三个动物。
错误大概是三种,一是需要class、interface、enum、或record。我上网搜说是这样是因为落了括号,可是我反复看了确定括号没有问题orz
第二个是“错误,不是语句”,是在(?“是”:“非”)这个地方
第三个是错误:非法字符:'\uff1b'

import java.util.ArrayList;
import java.util.List;



public static void main(String[] args)throws Exception{

    List<Animal>animals=new ArrayList<Animal>();
    animals.add(new Dog());
    animals.add(new Cat());
    animals.add(new Frow());
    for(Animal animal:animals){
        System.out.println(animals);
        animal.say();
        animal.happy();
        animal.afraid();
}
}






class Animal{
    boolean isLusheng=false;
    boolean isShuisheng=false;
    boolean isRoushi=false;
    boolean isBuru=false;
public void say(){

}

public void happy(){

}

public void afraid(){

}

public String toString(){
return(isLusheng? "是":"非")+"陆生";
+(isShuisheng? "是":"非")+"水生";
+(isRoshi? "是":"非")+"肉食";
+(isBuru? "是":"非")+"哺乳";

}
}


class Dog extends Animal{
    @Override
    public Dog(){
    isLushneg=true;
    isRoushi=true;
    isBuru=true;
}

public void say(){
    System.out.println("摇摇尾巴");
}
public void happy(){
    System.out.println("汪汪叫");
}
public void afraid(){
    System.out.println("呜呜");
}
}


class Cat extends Animal{
    @Override
    public Cat(){
    isLushneg=true;
    isRoushi=true;
    isBuru=true;
}

public void say(){
    System.out.println("喵");
}
public void happy(){
    System.out.println("咕噜咕噜");
}
public void afraid(){
    System.out.println("嘶嘶");
}
}


class Frog extends Animal{
    @Override
    boolean isRuansheng=true;
    public Frog(){
    isLushneg=true;
    isRoushi=true;
}

public void say(){
    System.out.println("呱呱");
}
public void happy(){
    System.out.println("呱呱");
}
public void afraid(){
    System.out.println("扑通一声跳入水中");
}

public String toString(){
return super.toString()+","+(isEuansheng? "是":"非"+"卵生");
}
}

  • 问题很多, 变量拼写有问题,构造方法不需要加 @Override注解, 分号用的是中文, 其他class类要 和 主类 同级等等。
  • 完整参考如下:
import java.util.ArrayList;
import java.util.List;

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

public class DogTest {


    public static void main(String[] args) throws Exception {

        List<Animal> animals = new ArrayList<Animal>();
        animals.add(new Dog());
        animals.add(new Cat());
        animals.add(new Frog());
        for (Animal animal : animals) {
            System.out.println(animals);
            animal.say();
            animal.happy();
            animal.afraid();
        }
    }

}

class Animal {
    boolean isLusheng = false;
    boolean isShuisheng = false;
    boolean isRoushi = false;
    boolean isBuru = false;

    public void say() {

    }

    public void happy() {

    }

    public void afraid() {

    }

    public String toString() {
        return (isLusheng ? "是" : "非") + "陆生"
                + (isShuisheng ? "是" : "非") + "水生"
                + (isRoushi ? "是" : "非") + "肉食"
                + (isBuru ? "是" : "非") + "哺乳";

    }
}


class Dog extends Animal {
    // 去掉 @Override
    public Dog() {
        isLusheng = true; // 拼写有误
        isRoushi = true;
        isBuru = true;
    }

    public void say() {
        System.out.println("摇摇尾巴");
    }

    public void happy() {
        System.out.println("汪汪叫");
    }

    public void afraid() {
        System.out.println("呜呜");
    }
}


class Cat extends Animal {
    // 去掉 @Override
    public Cat() {
        isLusheng = true; // 拼写有误
        isRoushi = true;
        isBuru = true;
    }

    public void say() {
        System.out.println("喵");
    }

    public void happy() {
        System.out.println("咕噜咕噜");
    }

    public void afraid() {
        System.out.println("嘶嘶");
    }
}


class Frog extends Animal {
    boolean isRuansheng = true;

    public Frog() {
        isLusheng = true;
        isRoushi = true;
    }

    public void say() {
        System.out.println("呱呱");
    }

    public void happy() {
        System.out.println("呱呱");
    }

    public void afraid() {
        System.out.println("扑通一声跳入水中");
    }

    public String toString() {
        return super.toString() + "," + (isRuansheng ? "是" : "非" + "卵生");
    }
}

public static void main(String[] args)throws Exception{

这是函数,必须在某个类里面才行
非法字符:'\uff1b'----应该是代码里有全角字符
43行已经是独立语句了,因为后面有分号,那么后面几行就不成语句了啊