泛型——泛型类

泛型类

  1. 对象实例化时不指定泛型,默认的泛型为 Object 类型

    A a3 = new A();//不指定泛型时,默认的泛型为 Object 类型
    // A<Object> a3 = new A<Object>();
    a3.setKey(new Object());
    Object obj = a3.getKey();
    
  2. 泛型不同的引用不能相互赋值,例如以下两个:

    A<Integer> a1 = new A<Integer>();
    A<String> a2 = new A<String>();
    // 不能 a1 = a2;
    
  3. 在 new 对象时,指定的泛型为什么,对象使用的 set/get 方法中就得是什么类型的值。

public class Demo01 {
    public static void main(String[] args) {

        A<Integer> a1 = new A<Integer>();//在 new 对象时,指定的泛型为 Integer
        a1.setKey(1);//对象使用的 setKey(T key)方法中的 key 就是 Integer 类型
        System.out.println(a1.getKey());

        A<String> a2 = new A<String>();
        a2.setKey("a");
        System.out.println(a2.getKey());

        A a3 = new A();//不指定泛型时,默认的泛型为 Object 类型
        // A<Object> a3 = new A<Object>();
        a3.setKey(new Object());
        Object obj = a3.getKey();

    }
}

/**
 * 这里的泛型 T 可以任意取名
 * 但推荐为 T (Type类型的意思)
 * @param <T>
 */
class A<T> {
    private T key;

    public T getKey() {
        return key;
    }

    public void setKey(T key) {
        this.key = key;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值