Java高级知识复盘之泛型

Java高级知识复盘之泛型

泛型类

  • 泛型符号 出现 类的声明处 <>
  • 在本类中 当作已知类型 来用
  • 静态方法不能出现 类的泛型符号
// 泛型符号,个数不要求,名称不要求,T-type E-element K-key V-value ;
public class Student<A, B, C> {
    private A a;
    private B b;
    private C c;
    
    /**
     * 静态方法不能出现 类的泛型符号
     * @param a
     */

    public A getA() {
        return a;
    }

    public void setA(A a) {
        this.a = a;
    }

    public B getB() {
        return b;
    }

    public void setB(B b) {
        this.b = b;
    }

    public C getC() {
        return c;
    }

    public void setC(C c) {
        this.c = c;
    }
}

泛型接口

泛型符号,出现在接口声明处为泛型接口

接口定义

public interface Inter<A, B> {
    //本接口中 当成已知类型来用

    A methodA(A a);

    B methodB(B b);
}

1,实现类直接确定类型

//1, 在实现类中 直接确定类型
public class InterImpl1 implements Inter<String, Integer> {

    @Override
    public String methodA(String s) {
        return null;
    }

    @Override
    public Integer methodB(Integer integer) {
        return null;
    }
}

2,实现类中泛型符号如果不指定类型,则默认当成Object

//2, 实现类中泛型符号如果不指定类型则当成Object
public class InterImpl2 implements Inter {
    @Override
    public Object methodA(Object o) {
        return null;
    }

    @Override
    public Object methodB(Object o) {
        return null;
    }
}

3,实现类带上泛型符号,等到创建对象的时候确定

public class InterImpl3<A, B, C> implements Inter<A, B> {
    private A a;
    private C c;


    public void run(A a) {
    }

    @Override
    public A methodA(A a) {
        return null;
    }

    @Override
    public B methodB(B b) {
        return null;
    }
}

泛型方法

在进行方法调用的时候,根据实参确定泛型的类型

泛型符号,在本方法中,当成已知类型来用

泛型上下限

  • ? 表示通配符 可以是任意引用类型
  • ? extends Animal 泛型的上限:可以是Animal类型或Animal的子类型
  • ? super Animal : 泛型的下限:可以是Animal 或 Animal的父类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值