【Java8新特性】- 介面中默認方法修飾為普通方法
Java8新特性 – 介面中默認方法修飾為普通方法
😄生命不息,寫作不止
🔥 繼續踏上學習之路,學之分享筆記
👊 總有一天我也能像各位大佬一樣
🏆 一個有夢有戲的人 @怒放吧德德
🌝分享學習心得,歡迎指正,大家一起學習成長!

介面中默認方法修飾為普通方法
在java8之前,介面類可以定義變數和方法,變數必須要public、static、final修飾,方法需要public、abstract修飾。方法由子類來實現。介面方法默認是public,如果多加了public就會顯示冗餘的public。

在jdk8之後,java就能夠通過default和static修飾,直接編寫方法體,無需子類去實現。當我們直接在介面類中編寫帶方法體的方法時,idea就會提示介面抽象方法不能有方法體。

default、static修飾
當我們使用default修飾的時候,idea就會提示不支援此方法。

我們就將其設置為java8級別,之後就能用了。

這樣就都能用了
案例程式碼
package com.jdk8.demo.method;
/**
* @author: lyd
* @description: 聲明介面
* @Date: 2022/10/4
*/
public interface InterfaceMethod {
void PubMethod();
default void DefaultMethod() {
System.out.println("使用default修飾");
}
static void StaticMethod() {
System.out.println("使用static修飾");
}
}
在實現類中,一定需要實現的是沒有方法體的,修飾了static是不可以子類去實現的。
這裡就實現未實現的方法。
package com.jdk8.demo.method.impl;
import com.jdk8.demo.method.InterfaceMethod;
/**
* @author: lyd
* @description: 實現類
* @Date: 2022/10/4
*/
public class InterfaceMethodImpl implements InterfaceMethod {
@Override
public void PubMethod() {
System.out.println("public方法");
}
}
測試
package com.jdk8.demo.method;
import com.jdk8.demo.method.impl.InterfaceMethodImpl;
/**
* @author: lyd
* @description: 測試
* @Date: 2022/10/4
*/
public class Itest {
public static void main(String[] args) {
InterfaceMethod interfaceMethod = new InterfaceMethodImpl();
interfaceMethod.PubMethod();
interfaceMethod.DefaultMethod();
InterfaceMethod.StaticMethod();
}
}
運行結果

感謝觀看!


