public class TestMain { public static void main(String[] args) { AbstractTest.out(); } }
public class TestMain { public static void main(String[] args) { AbstractTest.out(); } }
理解:一般情況下抽象類中可以包含抽象方法和非抽象方法,靜態類中只能包含靜態成員,所有的靜態成員也只能包含在靜態類中。
因為靜態static的本質是包含abstract和sealed的,所以靜態方法可以包含在抽象類中,並通過抽象類名.靜態方法 來使用該方法。又因為靜態包含sealed特性,所以不可以被繼承。
其實這樣就可以避免因為抽象類不能實例化而必須在其子類中實例化對象來使用父類中的方法,可以直接將方法寫成靜態方法,就可以不使用抽象類的子類來實現方法。