Java学习笔记——泛型

目录

1.初识泛型

1.1什么是泛型

1.2为什么会出现泛型 

2.泛型的使用

2.1泛型类

2.1.1泛型类的使用

2.1.2泛型类的继承

2.2泛型方法


1.初识泛型

1.1什么是泛型

“泛”:广泛                              “型”:类型

“泛型”:广泛的数据类型

官方的话说:“就是把参数类型的具体化变的参数化

通常我们见到的<T>就是泛型

1.2为什么会出现泛型 

我们先引入一个实例

(1)这里有一个Person类

class Person {
    private String name;
    private int age;
}

这时你发现要求上还有一个“score”属性,你选择了int类型

private int score;

这时,你发现:同事A喜欢用A,B,C来给分数赋值,同事B喜欢用true和false来给分数复制,你喜欢用数字来赋值。

但是只能由一种score怎么办呢?

有没有一种方法,可以想传什么就传什么呢?

此时我们引入泛型

class Person <T>{
    private String name;
    private int age;
    private T score;
}

<T>代表你使用了泛型,那么怎么去使用呢?

Person <String> p1 = new Person<String>();

 <String>这里的String传给了Person里面的T

也就是说

class Person <T>{
    private String name;
    private int age;
    private T score;//此时的T就会变成String
}

 这就是泛型的一个简单使用

2.泛型的使用

2.1泛型类

2.1.1泛型类的使用

(1)定义一个泛型类(尖括号跟在类名后面,里面的字母任意)

class Person <T>{
    private String name;
    private int age;
    private T score;
}

(2)实例化一个泛型类(类名 <数据的类型> 变量名)

Person <String> p1 = new Person<String>();

2.1.2泛型类的继承

(1)不继承泛型

1.1不继承父类的泛型,并且自身也不使用泛型

class Student  extends Person{
    private String name;
    private int age;
}

1.2不继承父类的泛型,但是自身使用泛型

class Student <T>  extends Person{
    private String name;
    private int age;
}

(2)继承泛型

2.1继承于父类的泛型

class Student <T>  extends Person<T>{
    private String name;
    private int age;
}

2.2子类按需实现父类的泛型

class Student <T>  extends Person<String>{
    private String name;
    private int age;
}

2.2泛型方法

2.2.1泛型方法的定义(返回值前<T>)

 public static <T> void MY(T x){

       System.out.println(x.toString());
    }

2.2.2泛型方法的使用

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值