A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

需求:
                已知动物类(姓名,年龄,吃饭,睡觉),它有两个子类,分别是猫类和狗类。
                不同的是猫吃鱼,狗吃肉。
                经过马戏团的培训后,部分猫会跳高,部分狗也会跳高。
                请写代码实现。

public class Demo {

        public static void main(String[] args) {
                Cat1 c1 = new Cat1("小猫", 18);                 
                System.out.println("动物:" + c1.getName() + ",年龄:" + c1.getAge());
                c1.eat();
                Dog1 d1 = new Dog1("小狗", 18);
                System.out.println("动物:" + d1.getName() + ",年龄:" + d1.getAge());
                d1.eat();
                JumpCat jc = new JumpCat("跳猫", 18);
                System.out.println("动物:" + jc.getName() + ",年龄:" + jc.getAge());
                jc.Jumping();
                JumpCat jd = new JumpCat("跳狗", 18);
                System.out.println("动物:" + jd.getName() + ",年龄:" + jd.getAge());
                jd.Jumping();
        }
}
//定义一个类
abstract class Animal1 {
        private String name;           //声明name
        private int age;                   //声明 age
         //定义一个空的构造方法
        public Animal1() {

        }
         //定义构造方法
        public Animal1(String name, int age) {
                this.name = name;
                this.age = 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;
        }
//定义一个抽象的吃饭方法
        public abstract void eat();

}
//定义一个Cat1继承 Animal1
class Cat1 extends Animal1 {
//定义一个空的构造方法
        public Cat1() {

        }

        public Cat1(String name, int age) {
                super(name, age);
        }
//重写吃饭的方法
        public void eat() {
                System.out.println("猫吃鱼");
        }
}
//定义一个Dog1继承Animal1
class Dog1 extends Animal1 {
        public Dog1() {

        }

        public Dog1(String name, int age) {
                super(name, age);
        }
//重写构造方法
        public void eat() {
                System.out.println("狗吃肉");
        }
}
//定义一个接口Jumping
interface Jumping {
        public void Jumping();
}
//定义一个JumoCat 来继承 Cat1  并且实现Jumping接口
class JumpCat extends Cat1 implements Jumping {
        public JumpCat() {

        }

        public JumpCat(String name, int age) {
                super(name, age);
        }
//部分猫特有的方法
        public void Jumping() {
                System.out.println("猫会跳高");
        }
}
//定义一个JumpDog 来继承 Dog1 并且实现Jumping接口
class JumpDog extends Dog1 implements Jumping {
        public JumpDog() {

        }

        public JumpDog(String name, int age) {
                super(name, age);
        }
//部分狗特有的方法
        public void Jumping() {
                System.out.println("狗会跳高");
        }
}


3 个回复

倒序浏览
写的真好 赞一个
回复 使用道具 举报
看后感觉总结不错 给一个赞
回复 使用道具 举报
大神,顶个。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马