Java新特性介面的加強

2021-09-24 06:21:05 字數 907 閱讀 2467

jdk1.8之前的介面定義:

如果現在有乙個需要,需要在介面中增加乙個新的功能,而它的子類有3w個,那麼就要重複貼上3w次。

造成該問題的原因是:因為介面只是乙個方法的宣告,而沒有具體的實現,所以隨著時間的推移,介面就無法使用

為了解決以上的問題,專門提供了兩類新的結構。

jdk1.8之後的介面定義:

舉例:定義普通方法

public

inte***ce

message

}public

class

qqmessage

implements

message

}public

class

weixinmessage

implements

message

}public

class

testmessage

}

如果對父類的方法不滿意,子類也可以根據實際情況進行覆寫。那麼父類物件呼叫的就是子類覆寫的普通方法。

舉例:定義static方法

public

inte***ce

message

//可以直接通過介面名稱呼叫 message.messageinfo()

static

void

messageinfo()

}

整體來講,介面感覺更像抽象類了,但是比抽象類更強大的在於:介面的子類可以繼承多個父介面,而抽象類是能實現單繼承

Java 新特性 列舉

package cn.enum.robertchao public enum color1 可以通過 列舉.內容 的形式進行取值操作。2 輸出列舉中的全部內容,可以使用foreach完成。利用foreach把列舉型別中的內容全部取出。package cn.enum.robertchao public...

java 新特性 列舉

列舉就是要某個型別的變數的取值只能是幾個固定值中的某乙個,否則,編譯器就會報錯,列舉可以讓編譯器在編譯時就可以控制程式中填寫的非法值,普通變數的方式無法實現這一目標 列舉的實現 package learn 列舉 author hui public class enumtest 在上面的類中,自己定義...

java新特性 萬用字元

在程式類中追加了泛型之後,避免了classcastexception的問題,同時又產生了引數統一化的問題。為了解決該問題,產生了新特性萬用字元,可以接受所有的泛型型別,但不能讓使用者隨意更改。該特性從jdk1.5之後出現。有以下三種常見的萬用字元 extends number 表示泛型型別只能是nu...