Java面試 JDK1 8介面和抽象類

2021-08-19 19:36:21 字數 528 閱讀 3588

前言

介面是對動作的抽象,抽象類是對根源抽象。

使用抽象類,也就是繼承,是一種強耦合的設計,用來描述「a is a b」 的關係,即如果說a繼承於b,那麼在流程中將a當做b去使用應該完全沒有問題。

介面設計目的就是對類的行為進行約束,,也就是提供一種機制,可以強制要求不同的類具有相同的行為。它只約束了行為的有無,但不對如何實現行為進行限制。對「介面為何是約束」的理解,我覺得配合泛型食用效果更佳。

抽象類:

public abstract class test 

private void fun()

static

public test()

}

介面:

public inte***ce  test 

static void fun2()

}

區別:

JDK1 8介面新增

1 預設方法 即被default關鍵字修飾的方法 public class demo01 介面 inte cea 實現類 class demo implements a 構成重寫 public void dsiplay 使用 通過實現類物件使用,實現類可以對預設方法進行重寫,呼叫重寫後的方法 注 只...

Java學習之 JDK1 8介面定義增強

一 介面定義加強 1 jdk1.8之前已有的功能彙總 1.inte ce修飾 2.定義常量,抽象方法 3.介面可以繼承多個介面 抽象類可以實現介面 介面不能繼承抽象類 4.子類可以實現多個介面 5.介面是物件導向三大特性中多型的體現 定義標準,表達能力,在分布式開發中暴露遠端服務方法 2 jdk1....

一 JDK1 8 介面支援靜態方法和預設方法

預設方法主要優勢 1 提供了一種擴充套件介面的方法,而不破壞現有 如果乙個已經投入使用的介面需要擴充套件乙個新的方法,在jdk8以前,我們必須再該介面的所有實現類中都新增該方法的實現,否則編譯會出錯。如果實現類數量很少且我們有修改的許可權,可能工作量會少,但是如果實現類很多或者我們沒有修改 的許可權...