本文介紹了有什么方法可以將記錄與繼承一起使用嗎?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我有許多使用Lombok的@Data
類,我想遷移所有這些類以使用Java 14中提供的新錄音功能。
我知道這有點(diǎn)早,但這是我正在進(jìn)行的一項(xiàng)實(shí)驗(yàn)性測(cè)試。
這里的主要問題是涉及繼承。我有一個(gè)類B,它擴(kuò)展了一個(gè)類A。有什么方法可以將Records與繼承一起使用嗎?
推薦答案
JEP說明:
對(duì)記錄的限制
Records不能擴(kuò)展任何其他類,并且不能聲明與狀態(tài)描述的組件相對(duì)應(yīng)的私有最終字段以外的實(shí)例字段。聲明的任何其他字段都必須是靜態(tài)的。這些限制確保僅由狀態(tài)描述定義表示形式。
但是,它們可以實(shí)現(xiàn)接口并定義實(shí)例方法,因此您可以多態(tài)地使用它們。此外,由于它們將繼承默認(rèn)方法,因此它們確實(shí)支持有限形式的繼承。
此時(shí),Java語(yǔ)言規(guī)范未指定記錄結(jié)構(gòu)及其語(yǔ)義。
這篇關(guān)于有什么方法可以將記錄與繼承一起使用嗎?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,