介面 A 定義方法 a()、b();類 C 實現 A 並新增特有方法 c()。如何調用 c()?
C obj = new C(); obj.c(); —— 最簡單,但耦合具體類。D { void c(); },讓 C implements A, D。運行時判斷:if (obj instanceof D) ((D)obj).c(); —— 符合面向介面編程,擴展性強。obj.getClass().getMethod("c").invoke(obj) —— 靈活但性能差、不安全,非必要不建議。若 c() 僅內部使用,方案一足夠;若需多態擴展,採用方案二。