乐趣区

关于程序员:java8中接口的默认方法和静态方法

默认办法

Java 8 中容许接口中蕴含具备具体实现的办法,该办法称为
“默认办法”,默认办法应用 default 关键字润饰。
例如:

public interface MyFun {default String getName(){return "哈哈哈";}
}

接口默认办法的”类优先”准则

若一个接口中定义了一个默认办法,而另外一个父类或接口中又定义了一个同名的办法时抉择父类中的办法。如果一个父类提供了具体的实现,那么接口中具备雷同名称和参数的默认办法会被疏忽。
接口抵触。如果一个父接口提供一个默认办法,而另一个接口也提供了一个具备雷同名称和参数列表的办法(不论办法是否是默认办法),那么必须笼罩该办法来解决抵触.

interface MyInterface {default String getName(){return "呵呵呵";}
    
}
interface MyFun {default String getName(){return "哈哈哈";}

}

public class SubClass implements MyFun, MyInterface{

    @Override
    public String getName() {return MyInterface.super.getName();
    }

}

接口中的静态方法

Java8 中,接口中容许增加静态方法

interface MyInterface {public static void show(){System.out.println("接口中的静态方法");
    }

# 应用
public static void main(String[] args) {MyInterface.show();
    }
退出移动版