67mi 2023-03-11 19:42 采纳率: 33.3%
浏览 33
已结题

(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? "是":"非"+"卵生");
}
}

  • 写回答

2条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2023-03-11 19:50
    关注
    • 问题很多, 变量拼写有问题,构造方法不需要加 @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 ? "是" : "非" + "卵生");
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 3月11日