我用Java编写了一个接口。之后,我尝试通过覆盖代码中的代码来实现它。但出现错误,我必须在该方法之前添加public。
为什么我要添加公共内容?为什么没有公共就行不通?
正如Net-Beans所说:“试图分配较弱的访问权限;是公开的”
代码 :
package tryinginterface;
interface Bicycle {
// wheel revolutions per minute
void changeCadence(int newValue);
void changeGear(int newValue);
void speedUp(int increment);
void applyBrakes(int decrement);
}
class ACMEBicycle implements Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
@Override
void changeCadence(int newValue) {
cadence = newValue;
}
@Override
void changeGear(int newValue) {
gear = newValue;
}
@Override
void speedUp(int increment) {
speed = speed + increment;
}
@Override
void applyBrakes(int decrement) {
speed = speed - decrement;
}
@Override
void printStates() {
System.out.println("cadence:" +
cadence + " speed:" +
speed + " gear:" + gear);
}
}
接口中的所有方法都是公共的。
类中没有可见性修饰符的所有方法都是私有程序包。
您不能降低公共方法对程序包私有的可见性,因为它违反了接口。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句