abstract class AbstractCase2 {
abstract static void simpleMethod1();//giving error
}
class Case2 extends AbstractCase2 {
static void simpleMethod1() {
System.out.println("Within simpleMethod1");
}
public static void main(String args[]) {
simpleMethod1();
System.out.println("with AwM");
}
}
获取错误:
C:\>javac Case2.java
Case2.java:8: error: illegal combination of modifiers: abstract and static
abstract static void simpleMethod1();
^
1 error
最佳答案
静态方法怎么可能是抽象的呢? 静态方法不会被覆盖!!
如果你想让你的方法抽象化,让它成为非静态的
抽象方法是设计结构。您创建抽象方法是因为您希望您的子类覆盖它们,但静态方法与类相关联而不是它们的实例,因此它们不能被覆盖。
关于java - java中的抽象静态类给出错误修饰符的非法组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995858/