java - java中的抽象静态类给出错误修饰符的非法组合

标签 java static abstract extends

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/

相关文章:

c++ - 在 C++ 的子类中强制执行静态方法重载

Java 接口(interface)比较器静态比较

c# - 如何覆盖抽象类的属性?

database - 在未知数据库中存储 IPv6 的最佳方式?

java - 基本 String.match 不匹配

java - spring - xsl 转换 dtd 未找到错误

java - new 关键字在这里做什么?

java - 如何过滤ListView中的内容

Swift重写静态方法编译报错

java - 当我们总是可以在父类(super class)中使用泛型方法时,为什么要费心使用抽象方法和重写呢?