写一个以Java为基础的动物类

(1)定义一个动物类 Animal,包含如下成员变量和方法:

(1)定义私有成员变量 name 和 age 表示姓名和年龄;

(2)定义无参构造方法,方法内姓名为“不知名小动物”,年龄为 -1;

(3)定义指定姓名 name 和年龄 age 的有参构造方法;

(4)定义成员变量 name 和 age 的 getter 和 setter;

(5)定义动物睡觉的公开方法 sleep(),输出“Animal sleep.”;

(6)重写 toString() 方法,返回字符串:“动物姓名:?,年龄:?”其中2个问号用对应的值代替。

public class Animal {

    // 私有成员变量

    private String name;

    private int age;



    // 无参构造方法

    public Animal() {

        this.name = "不知名小动物";

        this.age = -1;

    }



    // 有参构造方法

    public Animal(String name, int age) {

        this.name = name;

        this.age = age;

    }



    // getter 和 setter 方法

    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 void sleep() {

        System.out.println("Animal sleep.");

    }



    // 重写 toString() 方法

    @Override

    public String toString() {

        return "动物姓名:" + name + ",年龄:" + age;

    }

(2)定义一个 Cat 类,继承 Animal 类,并按如下步骤定义:

(1)新增一个私有成员变量 breed;

(2)定义指定姓名 name、年龄 age 和品种 breed 的构造方法,调用父类的指定姓名 name 和年龄 age 的构造方法给姓名 name 和年龄 age 初始化;

(3)定义品种 breed 的 getter 和 setter;

(4)重写动物睡觉的方法 sleep() 输出”Cat sleep.”;

(5)编写公开方法 run() ,输出“The cat run fast.”;

(6)重写 toString() 方法,返回字符串:“猫咪姓名:?,年龄:?,品种:?”其中 3 个问号用对应的值代替。

public class Cat extends Animal {

    // 私有成员变量

    private String breed;

    // 指定姓名 name、年龄 age 和品种 breed 的构造方法

    public Cat(String name, int age, String breed) {

        super(name, age); // 调用父类的构造方法初始化 name 和 age

        this.breed = breed;

    }

    // getter 和 setter 方法

    public String getBreed() {

        return breed;

    }

    public void setBreed(String breed) {

        this.breed = breed;

    }

    // 重写 sleep() 方法

    @Override

    public void sleep() {

        System.out.println("Cat sleep.");

    }

    // 公开方法 run()

    public void run() {

        System.out.println("The cat run fast.");

    }

    // 重写 toString() 方法

    @Override

    public String toString() {

        return "猫咪姓名:" + getName() + ",年龄:" + getAge() + ",品种:" + breed;

    }

}

(3)编写测试类 TestAnimal ,该类中包含:

(1)定义静态的公开方法 show(Animala),方法体中调用 Animal 类实例 a 的 startSleep() 方法;

(2)编写主方法 main,主方法中实现以下功能:

        ① 创建一个 Animal 类对象 animal,姓名是“init”,年龄为 5;

        ② 创建一个 Cat 类对象 cat,姓名是“H”,年龄为 8,品种为“布偶”;

        ③ 调用 toString() 方法输出对象 animal 和 dog 的全部属性信息;

        ④ 分别以对象 animal 和 cat 为实际参数去调用静态方法 show;

public class Cat extends Animal {

    // 私有成员变量

    private String breed;

    // 指定姓名 name、年龄 age 和品种 breed 的构造方法

    public Cat(String name, int age, String breed) {

        super(name, age); // 调用父类的构造方法初始化 name 和 age

        this.breed = breed;

    }

    // getter 和 setter 方法

    public String getBreed() {

        return breed;

    }

    public void setBreed(String breed) {

        this.breed = breed;

    }

    // 重写 sleep() 方法

    @Override

    public void sleep() {

        System.out.println("Cat sleep.");

    }

    // 公开方法 run()

    public void run() {

        System.out.println("The cat run fast.");

    }

    // 重写 toString() 方法

    @Override

    public String toString() {

        return "猫咪姓名:" + getName() + ",年龄:" + getAge() + ",品种:" + breed;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值