Java8新特性(三)接口的默认方法和静态方法

简单的测试

/**
 * 测试默认方法
 * @date 2018年3月18日
 */
public class TestJava8 {

	public static void main(String[] args) {
		Test1 test = () -> {};
		test.point();
		Test1.point2();
	}
}

interface Test1 {

	void execute();//默认方法和静态方法都不会影响函数式编程

	default void point() {
		System.out.println("接口默认方法调用!");
	}

	static void point2() {
		System.out.println("接口静态方法调用!");
	}
	
}

我们都知道如果在接口可以多实现,如果在实现的接口中存在同样的方法时编译期会报错。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BlajbOIL-1653903179185)(//img-blog.csdn.net/20180318010626129?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3FxXzM3NDkzODg4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]

必须重写该默认方法

interface Test3 extends Test1,Test2{

	@Override
	default void point() {
		Test1.super.point();
	}
}

你可能感兴趣的:(JAVA8新特性,Java8新特性,默认方法)