从Java8开始,interface中可以 不 全部都是【不完整的方法】,即可以有完整的方法,且可以有属性。
如:
public class Java_8 {
public static void main(String[] args) {
//实例sin可通过此方式实例化接口中未实现的方法
single sin = new single(){
public int go_4() {
return a;
}
};
sin.go_2();
System.out.println(sin.go_4());
single.go_7();
System.out.println(sin.a);
System.out.println(single.a);
}
}
interface single {
int a= 4; //始终为static的建议获取方式,不可更改该值,只能获得
int go_4();
default void go_2() {
System.out.println("默认方法输出2");
}
//上述两个方法需实例化该interface才可调用
static void go_7() {
System.out.println("无需实例化即可输出7");
}
}
由此可见在java 8 中interface可发挥的作用以及使用的便捷性被大大提升了。