题2 现有南方人类SouthPerson和北方人类NorthPerson

文章介绍了如何在Java中创建一个抽象类Person,以及如何继承并重写其方法。通过SouthPerson和NorthPerson子类,展示了封装、构造方法、toString方法和多态的应用,测试类中实例化对象并存储在Person数组中,通过多态调用eat方法输出食物差异。

现有南方人类SouthPerson和北方人类NorthPerson,它们有共同的属性:姓名、年龄;他们有共同的行为:吃饭(南方人吃米、北方人吃馒头)。

  1. 创建人抽象类Person,Person类中存在抽象方法eat方法
  2. 正确创建南方人类SouthPerson和北方人类NorthPerson
  3. 要求对SouthPerson类和NorthPerson类进行合理封装,即提供有参构造方法、重写toString方法
  4. 让SouthPerson类和NorthPerson类继承Person抽象类,并重写eat方法
  5. 在测试类中实例化1个SouthPerson对象,1个NorthPerson对象(使用多态形式)
  6. 测试类中创建一个Person数组,将上述2个对象存入数组中
  7. 遍历Person数组(使用for循环或增强型for循环),将不同人吃的东西输出到控制台
package A2;

public class SouthPerson extends Person {
    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 String toString() {
        return "SouthPerson{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public void eat() {
        System.out.println("南方人吃米");
    }

}

package A2;

public class Test {

    public static void main(String[] args) {

        Person p1 = new NorthPerson();
        Person p2 = new SouthPerson();

        Person[] nums = new Person[2];
        nums[0] = p1;
        nums[1] = p2;

        for (int i = 0; i < nums.length; i++) {
            nums[i].eat();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值