我想要一个Class对象,但我想强制它所代表的任何类来扩展A类并实现接口B.
我可以:
Class<? extends ClassA>
Run Code Online (Sandbox Code Playgroud)
要么:
Class<? extends InterfaceB>
Run Code Online (Sandbox Code Playgroud)
但我不能两者兼顾.有没有办法做到这一点?
我必须使用相同的方法处理两个类,但它们不实现相同的接口,也不扩展相同的超类.我不能/不允许更改这个类,我不构造这个类的实例我只得到这个对象.避免大量代码重复的最佳方法是什么?
其中一个类:
package faa;
public class SomethingA {
private String valueOne = null;
private String valueTwo = null;
public String getValueOne() { return valueOne; }
public void setValueOne(String valueOne) { this.valueOne = valueOne; }
public String getValueTwo() { return valueTwo; }
public void setValueTwo(String valueTwo) { this.valueTwo = valueTwo; }
}
Run Code Online (Sandbox Code Playgroud)
和另外一个...
package foo;
public class SomethingB {
private String valueOne;
private String valueTwo;
public String getValueOne() { return valueOne; }
public void setValueOne(String valueOne) { this.valueOne = valueOne; } …Run Code Online (Sandbox Code Playgroud)