java - 实现接口的静态方法
问题描述
假设我有一个界面:
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
方法?
解决方案
您可以在接口中定义静态方法,但仅限于实现。
public interface A {
public static void b() {
System.out.println("Hi");
}
}
Java 中不允许覆盖静态方法,因为您在Class
对象上调用它,而不是在实现对象上调用它。
推荐阅读
- c++ - C ++:如何将枚举元素设置为无限?
- regex - 包含特定内联样式的锚标记的正则表达式
- mainframe - 按数据分组时如何同时使用sum和max?
- ios - iOS-斯威夫特 4。- 更新了未在函数中使用的 UIButton 标签标题
- java - (Java) 在另一个类的方法上使用导入的类构造函数
- bash - bash:无法从远程 url 获取文件大小
- android - 单击后退按钮时重复值 - 已修复
- mongodb - 为什么在 windows 10 成功安装后程序文件中没有生成 MongoDB 文件夹?
- laravel - Laravel & Docker:无法打开流或文件“/var/www/html/storage/logs/laravel.log”:无法打开流:权限被拒绝
- malware - 通过搜索哈希值下载恶意软件样本