Java-尝试分配较弱的类权限

Java-尝试分配较弱的类权限,java,compiler-errors,Java,Compiler Errors,我正在学习Java(complete)初学者,并从我的代码中得到以下错误。我自己花了一些时间想弄明白,但运气不太好 错误:平板屏幕中的亮度(int)无法在电子设备中实现亮度(int) 虚空亮度(整型亮度){ 试图分配较弱的访问权限;是公共的 public class NewTV { /** * @param args the command line arguments */ public static void main(String[] args) {

我正在学习Java(complete)初学者,并从我的代码中得到以下错误。我自己花了一些时间想弄明白,但运气不太好

错误:平板屏幕中的亮度(int)无法在电子设备中实现亮度(int) 虚空亮度(整型亮度){ 试图分配较弱的访问权限;是公共的

public class NewTV {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        FlatScreen fS = new FlatScreen();

        fS.Power("On");
        fS.Brightness(10);
    }



}
interface electronics {

    void Power(String newPower);

    void Brightness(int newBrightness);
}

class FlatScreen implements electronics {

    String Power;
    int Brightness;

    void Power (String newPower) {

        Power = newPower;
        System.out.println("Power: " + Power);
    }

    void Brightness (int newBrightness) {
        Brightness = newBrightness;
        System.out.println("Brightness: " + newBrightness);
    }
}
使用

默认情况下,
接口
中的方法是
公共
。要覆盖
公共
方法,您需要使用
公共
修饰符


您需要了解
Java
访问修饰符
的主席权。如果您想
覆盖
某些方法,您需要具有更高主席权的修饰符。

接口方法都是公共的,即使
public
关键字不存在。实现接口的类必须实现其所有方法方法public,并且必须存在
public
关键字。

接口中的方法默认为
public
。但是,类中的方法默认称为
package private
。由于这比接口中可用的
public
修饰符更具限制性,因此无法在实现方法时,必须显式使用
public
access修饰符

这适用于扩展或实现基类的所有情况;所有重写的方法必须至少与要重写的方法一样可见。您可以自由地使方法更广泛地可见,但不能更少

关于为什么你不能这样做的一个例子,考虑这个代码:

electronics e = new FlatScreen();
e.Brightness(5); // the interface says I can call this, but the implementation says I can't!
electronics e = new FlatScreen();
e.Brightness(5); // the interface says I can call this, but the implementation says I can't!