楼主的这个想法很是犀利。。我从没往这上面想过。。
对于楼主的前两个问题,我感觉还是自己动手试试最好。我帮你得出了结论- package day19;
- public class Test2 {
- public static void main(String[] args) {
- Ab.aa();
- }
- }
- interface A{
- public void tb();
- }
- abstract class Ab implements A {
- public static void aa(){
- System.out.println("可以定义静态方法");
- }
- public void tb(){
- System.out.println("复写接口的tb方法");
- }
-
- }
复制代码 依次回答楼主的几个问题。
抽象类中是否可以定义静态方法?
可以
抽象类可不可以去实现接口?
不可以
那么如果只想使用具有多个方法的接口中的一个方法,可否只复写该方法并静态化,其余的不复写,从而直接用类名调用?
通过代码可见,复写方法没问题,但是想要加静态不行。
为什么?
因为java 中不能定义抽象静态方法static
interface中所有的成员方法都是abstract的,当然也就不能定义静态方法static。
|