5
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
4

3 に答える 3

14

静的メソッドはどのように抽象化できますか? 静的メソッドはオーバーライドされません!!

メソッドを抽象化したい場合は、非静的にします

抽象メソッドは構造を設計しています。子クラスでそれらをオーバーライドするために抽象メソッドを作成しますが、静的メソッドはインスタンスではなくクラスに関連付けられているため、オーバーライドできません。

于 2013-04-14T04:39:55.510 に答える