繁体   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