MST

星途 面试题库

面试题:Java多态下方法重写访问权限与抽象类和接口的关联

若一个抽象类中有抽象方法,其访问权限为protected,一个具体子类实现该抽象方法时,访问权限应如何设置?若将抽象类换为接口,接口中的抽象方法默认public,类实现接口方法时访问权限又该遵循什么规则?并阐述这样设计的原因。
28.1万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 抽象类情况
    • 具体子类实现抽象类中protected访问权限的抽象方法时,访问权限应至少为protected。这是因为子类重写方法不能降低其可访问性。如果降低了访问性,比如设为private,那么通过子类对象调用该方法时,原本在抽象类及其子类中可访问的情况就无法实现了,会破坏类继承体系中方法的访问规则。
  2. 接口情况
    • 类实现接口方法时,访问权限必须为public。因为接口的设计目的是提供一种通用的对外交互的契约,接口中的方法默认public,实现类必须遵循此访问权限,以确保任何外部对象都能通过接口规定的方式来调用这些方法。如果实现类不将方法设为public,就无法满足接口作为通用契约的要求,外部对象将无法正常访问接口定义的功能。