介面中的default方法 預設方法

2022-02-05 08:32:43 字數 502 閱讀 5479

一、概念

1. 介面提供乙個預設實現的方法,並且不強制實現類重寫此方法

2. 預設方法使用default關鍵字來修飾

二、引入背景

1. 當乙個介面新增新方法時,需要所有的實現類都重寫新方法,影響到了已有的實現類,可能導致應用崩潰

2. 預設方法可以不強制重寫,也不會影響到已有的實現類

3. 例如iterable介面的foreach方法,就是乙個預設方法,引數是乙個consumer物件

三、使用

1. 當乙個實現類實現了多個介面,多個介面裡都有相同的預設方法時,實現類必須重寫該預設方法,否則編譯錯誤

a. 實現類自己重寫邏輯

b. 實現類使用super關鍵字指定使用哪個介面的預設方法

2. 介面靜態方法

介面中支援定義靜態方法,將預設方法的default關鍵字換成static即可

3. 繼承類可以直接使用介面中的static方法,也可以建立物件後使用介面中的default方法

參考:

default怎麼修飾介面中的方法詳解

在實現handlerinterceptor介面時,我發現不實現handlerinterceptor介面的方法也不會報錯 仔細想來,還是我對介面的理解不清晰。開啟原始碼發現handlerinterceptor介面中的方法都是default 在以前的介面編寫中,我總是省略許可權修飾符,因為在介面中的方法...

介面中靜態方法和預設方法

介面 package cn.dali.code20 預設方法 預設方法是可以在介面中寫執行體的。主要作用 1.介面公升級,可以避免改變其他實現類。2.函式拼接 格式 public default 返回值方法名 注意 介面的預設方法,可以直接使用實現類的物件進行呼叫 也可以在實現類中對其進行覆蓋重寫。...

介面預設方法 介面靜態方法 函式式介面

目錄 介面預設方法 介面靜態方法 函式式介面 package com.tmooc.inte cedefaultandstaticmethod import jdk.internal.instrumentation.logger import lombok.extern.slf4j.slf4j aut...