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...