/// 处理器接口
interface Process<IN, OUT> {
OUT process(IN r);
}
// 处理器工厂接口
interface IProcessFactory { Process<? super Serializable, ? super Serializable> getProcess();
}
// 处理器工厂
class ProcessFactory implements IProcessFactory {
ProcessFactoryProxy proxy = new ProcessFactoryProxy();
@Override
public Process<? super Serializable, ? super Serializable> getProcess() {
return proxy.getProcess();
}
}
//处理器工厂代理
class ProcessFactoryProxy implements IProcessFactory {
@Override
public Process<? super Serializable, ? super Serializable> getProcess() {
[color=#FF0000] // 问题:编译器error
// Type mismatch: cannot convert from StringProcess to Process<? super Serializable,? super Serializable>
return new StringProcess();[/color]
}
}
// 处理器一个实现类
class StringProcess implements Process<String, String> {
@Override
public String process(String r) {
return r;
}
}