Java入门:15.Throwable常用方法,finally底层机制,泛型的基本应用-002

2 泛型

  • 在定义类或方法时,其中有些内容的类型暂时无法确定

  • 但在使用这个类或方法时可以确定

  • 如果直接使用Object来表示这个类型,当然使用时,什么类型的对象都可以,但有可能需要下转型

  • 例如:使用我们封装的Box

    • 定义Box or ArrayBox 不确定未来使用者会存入什么类型对象

    • 但我们有希望任何类型都可以存放,就将其中的数据类型设置为Object

    • 使用者在使用Box 和 ArrayBox时,可以根据业务逻辑确定要存储数据的类型 String , Car

    • 由于Box内部都是用Object表示的类型,所以应用时,需要一定的下转型

  • 泛型的作用就是可以简化下转型操作

  • 泛型的应用分为2部分

    1. 泛型的定义

    2. 泛型的使用(确定)

2.1 泛型的定义

  • 使用场景时(使用前提),当我们定义一个类或定义一个方法时,如果其中有些内容的类型不确定,就可以考虑使用泛型

  • 都有可能是哪些内容的类型不确定的呢

    • 属性类型

    • 方法返回类型

    • 方法的参数类型

    • 方法中局部变量的类型

  • 如何使用泛型呢?

    • 首先我们可以确定的是, i的类型和j类型和t1方法返回类型相同

    • 其次这个类型在使用者使用这个类的时候是可以确定的

    • 那么我们就可以用一个名字先代替这个类型,在被使用时再确定

    • 泛型定义语法:

    //在定义类A的时候,类A中有一些内容的类型不确定,暂时使用字母T来表示
    class A<T>{
        T i ;
        T j ;
        public T t1(){
            return i ;
        }
    }

2.2 泛型的使用

  • 当使用者在使用了定义了泛型的类时,需要为泛型确定具体的类型

    class A<T>{
        T t ;
    }
    ​
    ​
    A<String> a ;
    new A<String>();
    ​
    class B extends A<String>{}
    class B implements A<String>{}
    ​
    public A<String> t1(){}

注意

  • 定义类的时候如果设置了泛型

  • 使用类的时候可以不指定泛型,如果没有指定泛型,这个泛型默认就是Object类型。

那么今天的内容就到这里啦,如果存在哪些疑问或问题欢迎大家指出,我们下期再见~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值