</pre><pre name="code" class="csharp"><span style="font-size:18px;">public class TestMain { public static void main(String[] args) { AbstractTest.out(); } } </span>
<span style="font-size:18px;">public class TestMain { public static void main(String[] args) { AbstractTest.out(); } } </span>
如上面的程序所示是可以运行的。
理解:一般情况下抽象类中可以包含抽象方法和非抽象方法,静态类中只能包含静态成员,所有的静态成员也只能包含在静态类中。
因为静态static的本质是包含abstract和sealed的,所以静态方法可以包含在抽象类中,并通过抽象类名.静态方法 来使用该方法。又因为静态包含sealed特性,所以不可以被继承。
其实这样就可以避免因为抽象类不能实例化而必须在其子类中实例化对象来使用父类中的方法,可以直接将方法写成静态方法,就可以不使用抽象类的子类来实现方法。
时间: 2024-12-17 02:44:30