界面:
interface MasterPlan{
void getRate();
}
抽象类:
abstract class Plan implements MasterPlan{
abstract void getRate();
} }
在这种情况下,如果不使用MasterPlan
方法中的public
修饰符,就无法实现getRate()
接口。
public abstract void getRate();
这是正常现象。
我知道接口中的默认修饰符为default
。在实现的抽象类中没有public
修饰符的情况下导致此错误的原因是什么?
答案 0 :(得分:0)
您正面临着Interface
中每个方法都是public
的问题。因此,如果您有一个实现abstract
的{{1}}类,则其中的方法是Interface
。您无法更改已定义方法的可见性。
答案 1 :(得分:0)
接口中的所有抽象,默认和静态方法都是隐式公开的。
接口具有具有隐式属性的方法,并且一旦在定义或实现该方法后对其进行声明,就无法更改其访问修饰符。
否则您可以将您的课程声明为私有,受保护等。
oracle document defining interfaces
您可以寻求更多渴望的帮助。