1. 程式人生 > >java1.8新特性之一——在interface中寫實現方法

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));
	}
}