[Java] 多态相关的题目


多态相关的题目

1. 问答题

1. 请用一句话描述出用代码怎样实现“多态”?
	1. 继承或实现(二选一)
	2. 方法重写
	3. 父类引用指向子类对象


2. 请写出多态的好处和弊端。
	好处:多态的好处是提高代码的灵活性、扩展性
	弊端:无法访问子类中特有的方法


3. 请写出多态的向下转型的意义。
	多态时,无法访问子类中特有的方法,要像使用子类中特有的方法,必须向下转型。

2. 编程题

  1. 有以下类定义:
    • 动物类:
    • 属性:名称、年龄、性别
    • 行为:吃饭(非抽象)
    • 猫类继承自动物
    • 行为:捉老鼠
  2. 要求
    • 请按要求在代码中定义上述类,并用多态的形式测试调用“吃饭”和“捉老鼠”的方法。

参考答案:

  • 动物类
/**
 * 动物
 */
public class Animal {
    //成员变量
    private String name;    //名称
    private int age;        //年龄
    private String gender;  //性别

    //空参构造
    public Animal() {
    }

    //全参构造
    public Animal(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    //成员方法
    public void eat() {
        System.out.println("吃东西...");
    }

    //getter & setter 略
}
  • 猫类
/**
 * 猫 继承 动物类
 */
public class Cat extends Animal {

    //特有的方法
    public void catchMouse() {
        System.out.println("抓老鼠...");
    }
}
  • 测试类
public class Test {
    public static void main(String[] args) {
        //测试多态
        Animal animal = new Cat();
        animal.eat(); //可以调用

        //animal.catchMouse(); 无法调用子类中特有的方法
    }
}

原文链接:https://qwert.blog.csdn.net/article/details/105356202

发布了369 篇原创文章 · 获赞 381 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Regino/article/details/105356202