java——泛型(上)

本文介绍了Java中的泛型,包括泛型的概念、泛型类的定义和使用,以及泛型接口的创建和实现。通过实例展示了泛型如何防止运行时类型错误,强调了泛型在代码安全性和可读性上的提升。泛型允许我们在编译时检查类型安全,并且能创建重用性更强的代码。
摘要由CSDN通过智能技术生成

一,泛型
泛型,即“参数化类型”,也就是说操作的数据类型被指定为一个参数
就类似于函数的形参定义了之后,在函数里给它赋值的数据类型不一致就不能通过编译
泛型就是为了把数据类型问题发现在运行之前(无法通过编译)
这种参数类型可以用在类、方法、接口中分别被称为泛型类、泛型方法、泛型接口
泛型可以指定多种类型:<泛型1,泛型2......>

二,泛型类

类似于把泛型传进该类中,从而使里面的参数只能赋值为该类型

定义格式

public class 类名<T>(可写别的,类似于形参){}

小小的尝试一下泛型类

泛型类StringAndInt

//T类似于形参,接收传过来的泛型(参数化类型,相当于传过来一个参数)
public class StringAndInt<T> {
//    为了方便设成public,如果正常用public可以不写get\set方法
    public T t;

    public T getT() {
        return t;
    }

    public void setT(T t) {
        this.t = t;
    }
}

测试类

public class test {
    public static void main(String[] args) {
//      <String>给StringAndInt类传了个参数,限定一以后sai只能set类型String的
//        如果不向StringAndInt类传参就不知道限定什么类型的,也就是set什么类型的都可以,失去了正常作用
        StringAndInt<String> sai1=new StringAndInt<String>();

//        sai1.setT(123);
//        System.out.println(sai.getT());

        sai1.setT("加上泛型");
        System.out.println(sai1.getT());

        System.out.println("-------------");

        StringAndInt sai2=new StringAndInt();

        sai2.setT("不加泛型");
        System.out.println(sai2.getT());

        sai2.setT(123);
        System.out.println("不加泛型:"+sai2.getT());
    }
}

结果

注意泛型类也是个类,跟之前类的用法差不多

三,泛型接口

定义格式:
修饰符 interface 接口名<类型>{}如:public interface Animal<T>{}

泛型接口也是接口需要一个实现类,实现类需要重写接口的方法

今天任务有点多,划划水

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值