泛型的主要目的之一就是用来指定容器要持有什么类型的对象,而且有编译器来保证类型的正确性(不在运行时才检查出来)
可以暂时不指定类型,而是稍后再决定具体使用什么类型,可以使用类型参数,用尖括号括住,放在类名后面。然后在使用这个类的时候,再用实际的类型替代此类型参数。T就是类型参数。
一、泛型类<T>
在定义一个类时,后面使用<T>
在构造方法中,使用泛型
class Con<T>{
private T value;
public Con(T value){
this.value = value;
}
}
指定多个泛型
Class Gen<K,V>{
private K key;
private V value;
public T getKey(){
return key;
}
public void setKey(K key){
this.key = key;
}
public T getValue(){
return value;
}
public void setValue(V value){
this.value= value;
}
}
二、泛型接口
接口使用泛型,与类使用泛型一样
interface GenInter<T>{
public void say();
}
class Gin<T> implements GenInter<T>{
private T info;
@Override
public void say(){
}
}
public class GrenericDemo05{
public static void main(String[] args){
Gin<String> g = new Gin<String>();
}
}
三、泛型方法:使得该方法能够独立于类而产生变化。
使用原则:尽量使用泛型方法,如果泛型方法可以取代将整个类泛型化,那么就应该只使用泛型方法。
对于static的方法,无法访问泛型类的类型参数,如果static方法需要使用泛型能力,就必须使其成为泛型方法。
定义泛型方法:只需将泛型参数列表置于返回值
例如:
class Gener{
public <T> T tell(T t){
return t;
}
}
public class GenericDemo{
public static void main(String[] args){
Gener g = new Gener();
String str = g.tell("abc");
}
}
四、匿名内部类:泛型可以应用于内部类以及匿名内部类
五、通配符
public class GenericDemo{
public static void main(String[] args){
Info<String> i = new Info<String>();
Info<Integer> i = new Info<Integer>();
}
public static void tell(Info<?> i){
System.out.println(i)
}
}
六、泛型数组
pubilc class GenericDemo{
public static void main(String[] args){
Integer arr [] = {1,2,3,4}
tell(arr);
}
public static <T> void tell(T arr[]){
}
}
相关推荐
综合运用Java反射、泛型和注解实现的类似Spring的核心注入
目录一、泛型概述二、泛型定义(1)泛型类(2)泛型方法2.1 泛型可变参数(3)泛型接口(4)类型限定三、泛型使用(1)类型通配符1.1 上限1.2 下限四、泛型擦除五、泛型数组 一、泛型概述 泛型,即是参数化类型。在...
Java核心知识:泛型机制详解
Java泛型的核心思想是类型参数化,即在类、接口或方法的定义中使用类型参数来代替具体的类型,这些类型参数在实例化时被具体类型替换,从而实现了通用性和类型安全。 主要特性包括 1. 类型参数:在类、接口或方法的...
伴随着Java的成长,《Java核心技术》从第1版到第11版一路走来,得到了广大Java程序设计人员的青睐,成为一本畅销不衰的Java经典图书。 本书经全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百...
java核心技术卷Ⅰ (高清中文版)教材供参考学习!《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能;第2章讲解了如何下载和安装JDK及本书的程序示例;第3章...
《Java高手真经(编程基础卷):Java核心编程技术》详细讲解了Java语言基础开发中的各种技术,主要内容包括如下。Java开发入门:JDK、JVM、Eclipse、Linux。Java语法基础:类、抽象类、接口、内部类、匿名类、异常、...
《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性...
CayS.Horstmann等编著,公飞编译的《Java核心技术》(CoreJava)自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍,该书囊括了Java平台标准版(JavaSE/J2SE)的全部基础知识,提供了大量...
CayS.Horstmann等编著,公飞编译的《Java核心技术》(CoreJava)自第1版出版以来,一直备受广大Java程 序设计人员的青睐,畅销不衰,是Java经典书籍。第8版针对JavaSE6平台进行了全面更新,囊括了Java平台标准版...
泛型与集合-Java核心-[Higgsup实习培训2018] #泛型#集合#JavaCore#HiggsupInternshipTraning2018 在有关Java核心的系列文章中,我们将继续学习2个新内容,即Generics和Collection,它们是Java中非常流行的对象...
《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能;第2章讲解了如何下载和安装JDK及本书的程序示例;第3章介绍了变量、循环和简单的函数;第4章讲解了类和...
java核心知识点整理,面试很有用 Java核心知识点2.JVM JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它...
《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性...
Cay S.Horstmann等编著,公飞编译的《Java核心技术》(Core Java), 自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是, Java经典书籍。第8版针对Java SE 6平台进行了全面更新,囊括了Java平, 台...
《Java核心技术卷1:基础知识》第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍。第8版针对Java SE 6平台进行了全面更新,囊括了Java 2平台、标准版(J2SE)的全部基础知识,提供了大量...
第1章 Java 程序设计概述 1.1 Java 程序设计平台 1.2 Java 白皮书的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 1.2.4 健壮性 1.2.5 安全性 ...第12章 泛型程序设计 第13章 集合 第14章 多线程