泛型的继承

/**
泛型可以继承 或者实现 但是在继承或者实现的时候  必须
 泛型的范围需要放大或者相同
 但是在相同的时候 必须指定 父类的或者接口的泛型
 tips:泛型不存在继承关系 Collection list = new ArrayList();这种是没有泛型的
 泛型会把所有的继承关系在不明确指出本类泛型的基础上 是要将所有泛型变成object类的 */
public interface  Fu<E> {
    public   E[]  method(E[] e);
}

abstract  class  Mu<E>{
    public  abstract  E[]  method(E[] e);
}


/**
 * 在确定参数的时候
 * 如果是直接用父类的泛型参数
 * 那么就需要子类同时表明参数
 */
class ZI<E> implements   Fu<E>{
    @Override
    public E[] method(E[] e) {
        return  e;
    }
}

//父类和子类的泛型可以不同但是根据多态的
//要求所有的子类重写方法仅仅是方法体的不同
//因此要求所有的返回值类型或者返回
//都是父类的泛型类性
class  ZII<Object> implements  Fu<String>{
    @Override
    public String[] method(String[] e) {
        return new String[0];
    }
    @Override
    public String getE() {
        return null;
    }

    class  ZIIi<String> implements  Fu<Object>{
        @Override
        public Object[] method(Object[] e) {
            return   e;
        }

        @Override
        public Object getE() {
            return null;
        }
}




class  ZII  implements  Fu{
    @Override
    public Object[] method(Object[] e) {
        return new Object[0];
    }
}

class  nv extends   Mu{
    @Override
    public Object[] method(Object[] e) {
        return new Object[0];
    }
}

class  nvv<E> extends   Mu<E>{
    @Override
    public E[] method(E[] e) {
        return   e;
    }
}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值