class A{}
class B{}
interface Interface<T>{
    public void proc(T t);
}
class C implements Interface<A>,Interface<B>{
    //如果这样可以的话,将会有以下代码
    //这样并不存在重载问题,但是java并不支持,想不通为什么。
    publi void proc(A a){}
    publi void proc(B b){}}其实上面的代码想说明的问题是,一个类为什么不能同时实现一个泛型接口的多个不同参数的版本呢???

解决方案 »

  1.   

    泛型类型信息编译后全擦除了class C implements Interface<A>,Interface<B>{
        //如果这样可以的话,将会有以下代码
        //这样并不存在重载问题,但是java并不支持,想不通为什么。
        publi void proc(A a){}
        publi void proc(B b){}}会变成class C implements Interface,Interface{
        //如果这样可以的话,将会有以下代码
        //这样并不存在重载问题,但是java并不支持,想不通为什么。
        publi void proc(Object a){}
        publi void proc(Object b){}}你说会不会有问题?!