java1.8新特性之一——在interface中写实现方法

这个新特性的用途:java类只支持单继承,但可实现多个接口,在此新特性出来之前,所有的子类共用的方法都只能写在extends的抽象类中,有点不符合面向对象的封装,现在可以写在实现的接口中,感觉更加符合面向对象的特性。
简单的代码demo:
interface:

package interfaceDemo;

public interface TestInterface {
	int sum(int i,int j);
	default int multipute(int i,int j) {
		return i * j;
	}
}

impl:

package interfaceDemo;

public class TestInterfaceImpl implements TestInterface{

	@Override
	public int sum(int i, int j) {
		return i + j;
	}
	public static void main(String[] args) {
		TestInterfaceImpl test = new TestInterfaceImpl();
		int result = test.multipute(2, 3);
		System.out.println(result);
	}
}

总结:interface中的的方法实现用default 修饰之后就可以了,子类就可以直接使用了,当然,interface中的方法实现也是支持方法覆盖的。如下impl2:

package interfaceDemo;

public class TestInterfaceImpl2 implements TestInterface{

	@Override
	public int sum(int i, int j) {
		return 0;
	}
	@Override
	public int multipute(int i,int j) {
		return i/j;
	}
	public static void main(String[] args) {
		TestInterfaceImpl2 test = new TestInterfaceImpl2();
		System.out.println(test.multipute(10, 2));
	}
}

猜你喜欢

转载自blog.csdn.net/shidebin/article/details/82894521