【问题标题】:why an implemented interface method be declared as public?为什么将实现的接口方法声明为公共的?
【发布时间】: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 oop object interface


    【解决方案1】:

    接口方法的默认修饰符是public abstract

    类方法的默认修饰符是包本地。这些是不一样的,您不能用包本地方法覆盖公共方法。您可以用非抽象方法覆盖抽象方法。

    您必须公开您的类方法,即使您不必将它放在接口中。

    【讨论】:

      【解决方案2】:

      公共访问说明符表示该接口可以被任何包中的任何类使用。如果您没有指定您的接口是公共的,那么您的接口将只能被定义在与该接口相同的包中的类访问。

      【讨论】:

      • 我不确定这最终回答了关于方法的问题。
      • @Laxman:这不是问题,问题是关于方法callback(int p) 在Client 类中被声明为公开。
      猜你喜欢
      • 2017-09-13
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 2010-10-13
      • 1970-01-01
      • 2013-11-13
      • 1970-01-01
      相关资源
      最近更新 更多