【发布时间】:2023-03-13 14:34:01
【问题描述】:
刚开始学java的时候遇到interface,看到如下代码:
interface Callback {
void callback(int param);
}
class Client implements Callback {
public void callback(int p) {
}
}
为什么将实现的接口方法声明为public?
【问题讨论】:
刚开始学java的时候遇到interface,看到如下代码:
interface Callback {
void callback(int param);
}
class Client implements Callback {
public void callback(int p) {
}
}
为什么将实现的接口方法声明为public?
【问题讨论】:
接口方法的默认修饰符是public abstract
类方法的默认修饰符是包本地。这些是不一样的,您不能用包本地方法覆盖公共方法。您可以用非抽象方法覆盖抽象方法。
您必须公开您的类方法,即使您不必将它放在接口中。
【讨论】:
公共访问说明符表示该接口可以被任何包中的任何类使用。如果您没有指定您的接口是公共的,那么您的接口将只能被定义在与该接口相同的包中的类访问。
【讨论】:
callback(int p) 在Client 类中被声明为公开。