代碼結構:
interface IManagerRoot { List<?> getList(); }
interface IManager extends IManagerRoot {}
abstract class ManagerRootImpl implements IManagerRoot { final List<?> getList() {...} }
class BaseManagerImpl extends ManagerRootImpl implements IManager {}
IManagerRoot 定義核心契約,IManager 擴展業務契約。ManagerRootImpl 提供 getList() 最終實現(final),子類不可覆寫,保證核心邏輯統一。BaseManagerImpl 繼承骨架並實現 IManager,編譯器強制實現擴展方法。IManager,不依賴具體實現類。此為「介面+抽象骨架」模式,兼顧擴展性與核心邏輯鎖定。