假设只知道某个接口类型,而不知道其实现类的具体类型(比如实现类是匿名类,或者根本未知),这时候使用泛型通配符可以为这些类设定返回类型。
@Test
public <T extends Service> void faking() {
new MockUp<T>() {
@Mock int doSomething() { return 7; }
};
//业务代码中所有 Service类的子类都返回7
}
假设只知道某个接口类型,而不知道其实现类的具体类型(比如实现类是匿名类,或者根本未知),这时候使用泛型通配符可以为这些类设定返回类型。
@Test
public <T extends Service> void faking() {
new MockUp<T>() {
@Mock int doSomething() { return 7; }
};
//业务代码中所有 Service类的子类都返回7
}