java继承练习题

这篇博客探讨了Java中的继承概念,包括方法重载和重写。通过选择题形式,解释了方法重写必须在继承关系的子类中出现,`super`关键字用于引用父类对象,而`this`关键字则指代当前对象。此外,还讨论了`final`关键字的使用限制,强调不能修饰构造方法,并提供了相关编程练习。
摘要由CSDN通过智能技术生成

一、选择

  1. 在Java中,以下程序的输出结果是 (A)
    public class Super {
    public void print() {
    System.out.println(“Super – >print”);
    }
    }
    public class Test extends Super {
    public void print() {
    System.out.println(“Test – >print”);
    }
    }
    public class inheritExercise {
    public static void main(String[] args) {
    Super t = new Super();
    t.print();
    }
    }

A. Super–>print
B. Test–>print
C. Super–>print
Test–>print
D. 编译错误

  1. 在Java中,以下关于方法重载和方法重写描述正确的是 (D)
    A. 方法重载和方法重写实现的功能相同
    B. 方法重载出现在父子关系中,方法重写是在同一类中
    C. 方法重载的返回类型必须一致,参数项必须不同
    D. 方法重写需要出现在满足继承关系的子类中

  2. 哪个选项中的方法插入到(1)处可以正确实现方法重写 (C)
    class Animal {
    public void eat (String food) {
    }

好的,以下是一道 Java 继承练习题: 假设有一个父类 `Animal` 和两个子类 `Dog` 和 `Cat`。`Animal` 类包含一个 `name` 成员变量和一个 `eat` 方法,`Dog` 和 `Cat` 类都继承了 `Animal` 类,并且都有一个 `sound` 方法。现在请你完成以下练习: 1. 在 `Animal` 类中,添加一个 `sleep` 方法,并在 `Dog` 和 `Cat` 类中覆盖(重写)该方法,使得 `Dog` 和 `Cat` 的 `sleep` 方法输出不同的内容。 2. 在 `Dog` 和 `Cat` 类中,实现各自的 `sound` 方法,使得 `Dog` 的 `sound` 方法输出 `"汪汪"`,`Cat` 的 `sound` 方法输出 `"喵喵"`。 3. 编写一个名为 `Main` 的测试类,并在其中创建一个 `Dog` 对象和一个 `Cat` 对象,分别调用它们的 `eat`、`sleep` 和 `sound` 方法。 你可以参考以下代码: ```java public class Animal { private String name; public Animal(String name) { this.name = name; } public void eat() { System.out.println(name + " is eating"); } public void sleep() { System.out.println(name + " is sleeping"); } } public class Dog extends Animal { public Dog(String name) { super(name); } public void sleep() { System.out.println(getName() + " is sleeping soundly"); } public void sound() { System.out.println("汪汪"); } } public class Cat extends Animal { public Cat(String name) { super(name); } public void sleep() { System.out.println(getName() + " is sleeping quietly"); } public void sound() { System.out.println("喵喵"); } } public class Main { public static void main(String[] args) { Animal dog = new Dog("旺财"); Animal cat = new Cat("小花"); dog.eat(); dog.sleep(); ((Dog) dog).sound(); cat.eat(); cat.sleep(); ((Cat) cat).sound(); } } ``` 希望这个练习题能够帮助你理解 Java 继承的相关知识。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值