接口Java中的重写方法

aw屋

我用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);
    }
}
Xabster

接口中的所有方法都是公共的。

类中没有可见性修饰符的所有方法都是私有程序包。

您不能降低公共方法对程序包私有的可见性,因为它违反了接口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章