我不知道我写的对不对!!大家给看看

定义三个接口生物、动物、人。
其中生物接口声明呼吸方法;
动物接口除具备生物接口特征之外,还声明了吃饭和睡觉两个方法;
人接口除具备动物接口特征外,还声明了思维和学习两个方法。
定义一个学生类实现上述人接口,学生具备姓名、年龄属性,对属性进行封装,并提供get/set方法。

   interface ShengWu{
     void abc();
 }
 class dongwu implements ShengWu{
     public void abc(){
         System.out.println("呼吸");
     }
     public void eat(){
         System.out.println("吃饭");
     }
     public void sleep(){
         System.out.println("睡觉");
     }
 }
 class ren extends dongwu {
     public void Xuexi(){
         System.out.println("学习");
     }
      public void sikao(){
         System.out.println("思考");
     }
 }

我总感觉哪里有问题,在写学生类的时候不知道怎么写了!!能给点思路么

阅读 2.9k
4 个回答

既然你生物、动物、人都是接口,为什么动物、人要设计成Class

楼主类的命名不规范,JVM罢工了。应该这么写:

class Animal implements Life {
    ...
}

class Human extends Animal {
    public void learn() {
        ...
    }
    public void think() {
        ...
    }
}
新手上路,请多包涵
interface Biology {
    void breath();
}

interface Animal extends Biology {
    void eat();
    void sleep();
}

interface Human extends Animal {
    void think();
    void learn();
}

class Student implements Human {

    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public void eat() {
    }

    @Override
    public void sleep() {
    }

    @Override
    public void breath() {
    }

    @Override
    public void think() {
    }

    @Override
    public void learn() {
    }
}

名称不要用中文或者拼音以及一些无意义的词(如abc),前期学习就要养成命名规范的习惯,我建议你在SF上搜索命名规范和提问的艺术,有高手写过这类不错的文章,你的提问太差劲了。
接口是个宽泛的概念,interface是接口,抽象类也是“接口”,估计你是初学java把,前期可以就把interface当做接口。
定义三个接口生物、动物、人。--如果你了解抽象类概念,写class是可以的,不然就写interface
动物接口除具备生物接口特征之外,还声明了吃饭和睡觉两个方法;
人接口除具备动物接口特征外,还声明了思维和学习两个方法。
--这用到了继承的概念,java里只能单继承,而不能多继承,也就是说一个子类只能有一个父类,但一个父类可以有多个子类

代码供参考

public interface ObjectThings {
    public void breath();
}

public interface Animal extends ObjectThings {

    @Override
    public void breath();
    
    public void eat();
    
    public void sleep();
}
public interface Human extends Animal {
    @Override
    public void breath();

    @Override
    public void eat();

    @Override
    public void sleep();

    public void think();

    public void study();
}
public class Students implements Human {

    public String name;
    public int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public void breath() {
        System.out.println("学生会呼吸");
    }

    @Override
    public void eat() {
        System.out.println("学生会吃饭");
    }

    @Override
    public void sleep() {
        System.out.println("学生会睡觉");
    }

    @Override
    public void think() {
        System.out.println("学生会思考");
    }

    @Override
    public void study() {
        System.out.println("学生会学习");
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题