java 重写接口中的方法,为什么必须在前加public呢?

2025-01-03 23:10:31
推荐回答(5个)
回答1:

java中接口方法不管是否加了修饰符都是public。因此在实现的时候修饰范围不能缩小,只能是public。

比如:

public interface A{//定义一个接口
   void show();//没有修饰符,默认修饰符是public
   public void show1();//显示定义修饰符是public
}

public class A1 implements A{
   public void show(){//不能缩小使用范围,原来定义的是public,现在只能是public
   }
   public void show1(){//不能缩小使用范围,原来定义的是public,现在只能是public
   }
}

回答2:

接口里面的本来就是属于全局的public类型的,,如果你在类里面实现的时候不写成public的话,那别人怎么去访问这个接口里面的内容呢。。也就是无法访问类里面的实现了。。那就写成接口就完全没有意义了马。。

回答3:

接口中的方法只声明,不实现,字段都是final的static的(都是自动)。接口中的方法是abstract和public(这些都是自动)。当类来实现他的时候如果不添加public,那么它只有包访问权限,这样在方法被继承的过程中,他的访问权限就会被降低。java编译器中这样的情况是不允许的。

回答4:

如果不是公有的,外面的如何去调用它,如果不去调用,那实现接口还有什么意义

回答5:

接口的定义问题
接口中的数据和方法都是public类型的,当然在这里public可以省略。

继承及接口实现问题
实现的方法的定义范围只能不小于接口中方法定义的范围。
抽象类的继承也是如此。

说以只能是public。