`

JAVA核心三(泛型)

    博客分类:
  • JAVA
 
阅读更多

泛型的主要目的之一就是用来指定容器要持有什么类型的对象,而且有编译器来保证类型的正确性(不在运行时才检查出来)

 

可以暂时不指定类型,而是稍后再决定具体使用什么类型,可以使用类型参数,用尖括号括住,放在类名后面。然后在使用这个类的时候,再用实际的类型替代此类型参数。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(value){

           this.valuevalue;

      }

}

 

 

 

二、泛型接口

接口使用泛型,与类使用泛型一样

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核心注入IOC的实现

    综合运用Java反射、泛型和注解实现的类似Spring的核心注入

    【java核心技术】泛型设计

    目录一、泛型概述二、泛型定义(1)泛型类(2)泛型方法2.1 泛型可变参数(3)泛型接口(4)类型限定三、泛型使用(1)类型通配符1.1 上限1.2 下限四、泛型擦除五、泛型数组 一、泛型概述 泛型,即是参数化类型。在...

    Java核心知识1:泛型机制详解.pdf

    Java核心知识:泛型机制详解

    Java 基础泛型.pdf

    Java泛型的核心思想是类型参数化,即在类、接口或方法的定义中使用类型参数来代替具体的类型,这些类型参数在实例化时被具体类型替换,从而实现了通用性和类型安全。 主要特性包括 1. 类型参数:在类、接口或方法的...

    Java核心技术 第12版 开发基础+高级特性 英文原版

    伴随着Java的成长,《Java核心技术》从第1版到第11版一路走来,得到了广大Java程序设计人员的青睐,成为一本畅销不衰的Java经典图书。 本书经全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百...

    java核心技术卷Ⅰ (高清中文版)

    java核心技术卷Ⅰ (高清中文版)教材供参考学习!《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能;第2章讲解了如何下载和安装JDK及本书的程序示例;第3章...

    Java核心编程技术源码

    《Java高手真经(编程基础卷):Java核心编程技术》详细讲解了Java语言基础开发中的各种技术,主要内容包括如下。Java开发入门:JDK、JVM、Eclipse、Linux。Java语法基础:类、抽象类、接口、内部类、匿名类、异常、...

    java 核心编程 java

    《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性...

    java核心技术源码

    CayS.Horstmann等编著,公飞编译的《Java核心技术》(CoreJava)自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍,该书囊括了Java平台标准版(JavaSE/J2SE)的全部基础知识,提供了大量...

    JAVA核心技术原书第九版两卷合集

    CayS.Horstmann等编著,公飞编译的《Java核心技术》(CoreJava)自第1版出版以来,一直备受广大Java程 序设计人员的青睐,畅销不衰,是Java经典书籍。第8版针对JavaSE6平台进行了全面更新,囊括了Java平台标准版...

    java-generics-collections:Java核心中的泛型和集合

    泛型与集合-Java核心-[Higgsup实习培训2018] #泛型#集合#JavaCore#HiggsupInternshipTraning2018 在有关Java核心的系列文章中,我们将继续学习2个新内容,即Generics和Collection,它们是Java中非常流行的对象...

    Java核心技术 卷1 基础知识 原书第9版

    《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能;第2章讲解了如何下载和安装JDK及本书的程序示例;第3章介绍了变量、循环和简单的函数;第4章讲解了类和...

    JAVA核心知识点整理.zip

    java核心知识点整理,面试很有用 Java核心知识点2.JVM JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它...

    JAVA 核心技术基础篇1

    《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性...

    java核心技术

    Cay S.Horstmann等编著,公飞编译的《Java核心技术》(Core Java), 自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是, Java经典书籍。第8版针对Java SE 6平台进行了全面更新,囊括了Java平, 台...

    Java核心技术 卷Ⅰ(原书第9版)

    《Java核心技术卷1:基础知识》第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍。第8版针对Java SE 6平台进行了全面更新,囊括了Java 2平台、标准版(J2SE)的全部基础知识,提供了大量...

    java核心技术第八版源代码(全)

    第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章 多线程

Global site tag (gtag.js) - Google Analytics