【Java知识点详解 4】Java泛型详解,淘宝特价版java面试

本文详细讲解了Java泛型的相关知识,包括泛型类、泛型接口、泛型方法、类型通配符、泛型上下边界等,并通过实例展示了泛型的使用。强调了泛型只在编译器有效,以及在使用过程中的注意事项,如不能创建泛型数组,静态方法中无法使用泛型等。文章适合准备Java后端面试者阅读。
摘要由CSDN通过智能技术生成

?表示不确定的类型

五、使用泛型时的注意事项

============

1、在定义一个泛型类时,在“<>”之间定义形式类型参数,例如:“class TestGen<K,V>”,其中“K”,“V”不代表值,而是表示类型。

2、实例化泛型对象时,一定要在类名后面指定类型参数的值(类型),一共要有两次书写。

3、使用泛型时,泛型类型必须为引用数据类型,不能为基本数据类型,Java中的普通方法,构造方法,静态方法中都可以使用泛型,方法使用泛型之前必须先对泛型进行声明,可以使用任意字母,一般都要大写。

4、不可以定义泛型数组。

5、在static方法中不可以使用泛型,泛型变量也不可以用static关键字来修饰。

6、根据同一个泛型类衍生出来的多个类之间没有任何关系,不可以互相赋值。

7、泛型只在编译器有效

8、instanceof不允许存在泛型参数

以下代码不能通过编译,原因一样,泛型类型被擦除了

六、泛型的使用

=======

泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法

1、泛型类


package javase.genericity;

//此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型

//在实例化泛型类时,必须指定T的具体类型

public class Generic {

//key这个成员变量的类型为T,T的类型由外部指定

private T key;

//泛型构造方法形参key的类型也为T,T的类型由外部指定

public Generic(T key){

this.key = key;

}

//泛型方法getKey的返回值类型为T,T的类型由外部指定

public T getKey(){

return key;

}

public static void main(String[] args) {

//泛型的类型参数只能是类类型(包括自定义类),不能是简单类型

//传入的实参类型需与泛型的类型参数类型相同,即为Integer.

Generic genericInteger = new Generic(123456);

//传入的实参类型需与泛型的类型参数类型相同,即为String.

Generic genericString = new Generic(“江疏影”);

System.out.println("泛型测试,key is "+genericInteger.getKey());

System.out.println("泛型测试,key is "+genericString.getKey());

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值