Java面试题解析:重写与继承核心考点

需积分: 14 0 下载量 135 浏览量 更新于2024-07-23 收藏 1.79MB PDF 举报
"这是一份关于Java面试的资料,包含了选择题和相关问题,适用于准备Java笔试和面试的人员。" 在Java面试中,经常会遇到一些关键知识点的考察,以下是对题目中涉及知识点的详细解释: 1. **子类重写父类方法**: - 子类可以重写父类的非私有方法(public或protected)。选项B中的`private`不允许被子类重写,因为私有方法是包内可见,不支持继承。 - 重写时,访问权限不能更低,即子类重写的方法至少要与父类方法具有相同的访问级别,或更高(更公开)。所以,选项A正确。 - 重写的方法签名必须一致,包括参数类型和返回类型。选项C虽然参数类型不同,但这是方法重载,不是重写;选项D返回类型不同,不符合重写规则。因此,正确答案是AC。 2. **抽象方法与静态方法**: - `abstract`关键字用于定义抽象方法,表明该方法没有具体实现,必须在子类中被重写。选项A正确,抽象方法不能是静态的,因为静态方法是与类相关的,而抽象方法需要与对象实例相关联,两者矛盾。 3. **多态性与方法调用**: - 在Java中,当使用父类引用指向子类对象时,如果调用的是非私有方法,会根据实际对象的类型执行子类的重写方法。题目中的代码展示了这一点。 - 当`Base baseObj = new Child();`执行`baseObj.test();`时,虽然引用是`Base`类型,但由于`test()`在子类`Child`中被重写,实际执行的是`Child`的`test()`方法。因此,输出将是`Child.test()`,答案是D。 这些题目涉及到Java的核心概念,如访问控制、方法重写、多态以及抽象方法的特性。在准备Java面试时,深入理解这些概念至关重要,它们是构建面向对象程序的基础,并在实际开发中频繁使用。对于面试者来说,不仅要掌握这些理论知识,还需要通过实践来加深理解,以便在实际工作中灵活运用。