關于任何OOP語言(Java、C#、Typescript等)的一個實驗性/理論性問題
。通常情況下,當在一個類中實作一個介面時,我們必須在該類中覆寫該介面的所有功能,必須為該介面的每個功能撰寫代碼。而每一個實作這個介面的類都必須有自己的代碼來實作這些功能。假設我們有一個名為Test的介面,它有一個名為foo()的函式,我想在其中寫下以下代碼 System.out.println("這是一個介面函式");。
但是,如果有一些 "理論上 "的方法可以將所有的函式都寫在介面中,并且每個實作類都可以直接呼叫它,而不需要重寫。就像下面這樣(使用Java作為基礎語言):
interface Test {
public foo() {
System.out.println("測驗日志。")
}
}
class Class1 {
建構式() {}
}
class Class2 {
建構式() {}
}
class Main { constructor()
public static void main() {
Class1 f1 = new Class1()。
Class2 f2 = new Class2() 。
f1.foo()。
f2.foo()。
}
uj5u.com熱心網友回復:
Java從Java 8開始就有這個功能。介面可以有默認的實作,類可以自由地覆寫它們,但不需要這樣做。
interface Test {
default void foo() {
System.out.println("測驗日志。")。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/310504.html
標籤:
