方法的重寫和覆蓋

場景

代碼中某個類被封裝到依賴的jar包裏面了。 現在需要改邏輯,怎辦呢?

解決方案

首先要弄清概念,重寫(override)就是覆蓋 。 不要和重載混淆了。
重寫:方法名和參數必須完全相同。
重載: 同方法名,不同參。

方法不只一種

同路徑,同名類 覆蓋掉原類

自己寫的類優先級高於jar包中的類。 所以可以覆蓋掉,然後修改對應的邏輯即可。
這種用的比較多,沒有冗餘。

創建包名的時候,可以 一下創建的,不要一級一級創建額。
例如包名爲 com.example.service.impl
到java目錄下,創建package,直接複製一串即可。

重新寫個接口和impl,複用邏輯,替換掉調用處即可

覆蓋的方法,抄包名,類名還是挺麻煩的。 如果只有一個地方用到。那麼新建個接口,貼過來邏輯,修改下即可。 然後改下調用位置。
這種看着複雜,其實做起來很快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章