繼承之后調(diào)用子類的toString方法為什么不會輸出父類屬性?

引用lombok插件之后,實(shí)體類的編寫就變得簡單了,只需要給實(shí)體類加個@Data注解,就不需要我們再書寫get、set、tostring等方法了。因?yàn)锧Data幫我們都加好了。


image.png

今天寫多表查詢時用到了一個實(shí)體類繼承另一個實(shí)體類,按理說如果有toString方法那么輸出子類的對象就會輸出所有的變量,包括父類的。但是我測試時控制臺卻只輸出了子類的變量。

掙扎了一段時間后終于發(fā)現(xiàn)是lombok的問題:@Data修飾注解包含了getter,setter,tostring,所以此處的tostring如果不設(shè)置參數(shù)的話,打印string的時候只會包含子類的屬性
解決:在@Data的基礎(chǔ)上再加一個@ToString(callSuper = true)注解,callSuper = true即解決缺少父類屬性的問題。

參考:https://blog.csdn.net/wwrzyy/article/details/85090214

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容