Shi*_*hra 4 java static extends abstract
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");
}
}
Run Code Online (Sandbox Code Playgroud)
得到错误:
C:\>javac Case2.java
Case2.java:8: error: illegal combination of modifiers: abstract and static
abstract static void simpleMethod1();
^
1 error
Run Code Online (Sandbox Code Playgroud)
Lok*_*esh 12
静态方法如何抽象?静态方法没有被覆盖!!
如果要使方法抽象化,请将其设置为非静态方法
抽象方法正在设计构造.您创建抽象方法是因为您希望子类覆盖它们,但静态方法与类而不是它们的实例相关联,因此无法覆盖它们.
static abstract 让你的编译器轰动一时.
你是从不同的方向拉它.
static:嘿编译器,这是我的方法的代码,随时可以在需要时使用,即使你没有创建实例.
abstract:嘿编译器,我将把代码放在我的方法中,在其中一个子类上.
编译器:你有代码还是什么?不好了!让我抛出一个错误......