簡體   English   中英

從幾乎與接口匹配的類動態創建實現?

[英]Dynamically create an implementation from a class that nearly match the interface?

說我有這個界面:

public interface Foo {
  int getBar();
  String getName();
  // ... 10 other methods
}

然后我有這個課,我無法修改:

public final class FooImpl {
  int getBar();
  String getFirstName(); 
  String getLastName(); 
  // ... 10 other methods which matches Foo
}

我需要使用FooImpl中的值來獲取Foo的方法。 手動編寫包裝器(例如通過匿名類)很容易,它實現Foo並將所有內容轉發到FooImpl中的相應方法(getName()除外,它需要來自getFirstName和getLastName的一些額外邏輯)。 有沒有辦法(最好是從像Guava這樣的公共庫)動態創建這樣一個包裝器,因為它的要求是:

  • 我想為一個或兩個方法指定自定義邏輯
  • 其余的,只需轉發具有相同名稱的方法即可

有一種方法。 如果您創建您的接口的Object引用,該引用包含實現該接口的類的Object的引用。 那個Object引用能夠訪問那些東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM