想象一下有以下课程:
public class classA {
public static String name() {
return "classA";
}
}
public class classB {
public static String name() {
return "classB";
}
}
由于两个类都具有相同名称的静态方法,所以我想做一个与之相关的类似父元素的东西,以声明其所有子元素都将实现一个静态方法name()。
使用接口是不可能的,因为我不希望将静态方法的声明放在接口内部,并且不能覆盖静态方法。另外,使用抽象类也不是解决方案,因为我无法声明抽象静态方法。
有没有一种方法可以做我想做的事?
答案 0 :(得分:1)
您不能使用static关键字强制执行父子关系,所以没有办法这样做。
答案 1 :(得分:0)
要由子类实现,name()方法应该是抽象的。这是不可能的,因为它是静态的。还要研究继承静态方法的含义:Are static methods inherited in Java?