Java泛型

在这里我们需要想这几个方面

泛型的理解和好处

泛型的基本语法

自定义泛型

泛型的继承和通配符

1.泛型的理解和好处

我们先来看一下一个题目来引出泛型

还有传统试一下

public class study01 {
    public static void main(String[] args) {
        ArrayList<Object> arrayList = new ArrayList();
        arrayList.add(new dog("xh",15));
        arrayList.add(new dog("xs",16));
        arrayList.add(new dog("xq",17));
        //遍历
        for (Object obj:arrayList){
            dog dog =(dog)obj;
            System.out.println(dog.getName()+ dog.getAge());
        }
    }
}
class dog{
    private String name;
    private int age;

    public dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

这样非常简单,我们也已经轻车熟路了,但是如果一个程序员添加了一只猫

那该怎么办,这样就会出现隐患了吧,在我们向下转型的时候就会抛出异常

咱到时候还会向下转型,所以效率也会有问题

所以就引出了我们的泛型

这样咱们就会发现,他就不发添加cat类的了,这也就是泛型的第一个优点,保证了安全性,另外咱不是说他不是还得向下转型嘛

所以,他也不需要在转型了在增强for中我们就可以把object转换成Dog了

就像这样,这就是好处

2.介绍泛型

泛型字面意思就是广泛的类型

第四条就是这样理解

3.泛型的语法

其实上面什么字母都可以但是T比较常见

然后List有同学可能会问为什么,我们来打开源码看一下

一目了然

练习题

这是用HashSet

下面就是HaspMap

4注意事项

在之前我们提到的<T>,这个地方我们不是一般放数据类型或者类嘛

但是再放入数据类型的时候,我们一定要放入引用类型,而不是基本数据类型

就比如<Interage>而不是<int >

然后再放入类的时候,我们不仅可以放入一个类,也可以放入他的子类

还有就是如果我们没有写<>这个的时候,一般系统就会默认为object

5.自定义泛型

在我们之前 我们就已经讲过了,

就是这里

还有自定义泛型接口

自定义泛型方法

6.泛型的继承

7.练习题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值