java1.8新特性之一——在interface中寫實現方法
阿新 • • 發佈:2018-12-12
這個新特性的用途: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)); } }