首页 > 解决方案 > 实现接口的静态方法

问题描述

假设我有一个界面:

public interface abcd{
    public int a();
    public void b();
    public void c();
    public String d(String h, String j);
}  

我在某个类中实现它:

public class xyzw implements abcd{

}  

但我希望该方法d()是静态的,但我不能这样做:

public class xyzw implements abcd{
    public static void c(){
       //some code
    }
}

我也不能这样做:

public interface abcd{
    public int a();
    public void b();
    public static void c();
    public String d(String h, String j);
}  

我想知道是否有某种东西或某种解决方法或某种语言结构允许我将接口定义的方法变成static方法?

标签: java

解决方案


您可以在接口中定义静态方法,但仅限于实现。

public interface A {
    public static void b() {
        System.out.println("Hi");
    }
}

Java 中不允许覆盖静态方法,因为您在Class对象上调用它,而不是在实现对象上调用它。


推荐阅读