接口:
interface MasterPlan{
void getRate();
}
抽象类:
abstract class Plan implements MasterPlan{
abstract void getRate();
} }
在这种情况下,如果不使用getRate()
方法中的public
修饰符,我无法实现MasterPlan
接口。
public abstract void getRate();
这是正常行为。
我知道默认修饰符是接口中的default
。在实现的抽象类中没有public
修饰符的情况下,此错误的原因是什么?
您正在面对Interface
中每种方法都是public
。因此,如果您获得了abstract
类,该类实现Interface
中的public
中的方法。您无法更改定义方法的可见性。
接口中的所有抽象,默认和静态方法都是隐含的公开。
接口具有具有隐式属性的方法,并且在定义或实现它后声明该方法后,您将无法更改其访问修饰符。
否则您可以将班级声明为私人,受保护等。
oracle文档定义接口
您可以要求更多渴望提供帮助。