Java泛型类与泛型方法的定义详解

 更新时间:2019年08月08日 08:42:30   作者:cakincqm  
这篇文章主要介绍了Java泛型类与泛型方法的定义,结合实例形式详细分析了java泛型类与泛型方法定义、用法及相关操作注意事项,需要的朋友可以参考下

本文实例讲述了Java泛型类与泛型方法的定义。分享给大家供大家参考,具体如下:

Java泛型类的定义

一 点睛

泛型类定义的语法如下:

[访问修饰符] class 类名称 <T>

泛型类的主要作用在于类被实例化后,传入具体的类型参数,对类的成员属性的类型和成员方法的参数类型和返回值类型进行替换。

二 代码

public class Base<T> {
  T m;
  Base(T t) {
    m = t;
  }
  public T getM(){
    return m;
  }
  public void print() {
    System.out.println("base print : " + m);
  }
  public static void main(String[] args) {
    Base<String> base=new Base<String>("base class is general");
    System.out.println(base.getM());
    base.print();
  }
}

三 运行

base class is general
base print :  base class is general

四 说明

T可以用任何一种引用类型,但是不允许使用基本类型,如int、double、char、boolean等是不允许的。泛型类定义时,可以使用T来定义其成员变量和成员方法的返回值和参数。

Java泛型方法的定义

一 点睛

泛型方法主要用于容器类,Java中任何方法,包括静态的(注意,泛型类不允许在静态环境中使用)和非静态的,均可以用泛型来定义,而且和所在类是否是泛型没有关系。

下面是泛型方法的定义

[public] [static] <T> 返回值类型 方法名(T 参数列表)

二 代码

public class GeneralMethod {
   public static <U> void print(U[] list) {
     System.out.println();
     for (int i = 0; i < list.length; i++) {
      System.out.print(" " + list[i]);
     }
     System.out.println();
   }
   public static void main(String[] args) {
     String a[]={"a","b","c","d","e"};
     Character b[]={'1','2','3','4','5'};
     Integer c[]={1,2,3,4,5};
     GeneralMethod.print(a);
     GeneralMethod.print(b);
     GeneralMethod.print(c);
   }
}

三 运行

a b c d e

1 2 3 4 5

1 2 3 4 5

四 说明

使用泛型方法时,至少返回值或参数有一个是泛型定义的,而且应该保持一致,否则可能会受到各种限制,因此,这里建议保持一致。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • SSM框架实现分页和搜索分页的示例代码

    SSM框架实现分页和搜索分页的示例代码

    本篇文章主要介绍了SSM框架实现分页和搜索分页的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • SpringBoot jwt的token如何刷新

    SpringBoot jwt的token如何刷新

    这篇文章主要给大家介绍了关于SpringBoot jwt的token如何刷新的相关资料,Json web token(JWT)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准,需要的朋友可以参考下
    2023-07-07
  • 全面了解Java中的内部类和匿名类

    全面了解Java中的内部类和匿名类

    下面小编就为大家带来一篇全面了解Java中的内部类和匿名类。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Mybatis-plus基于redis实现二级缓存过程解析

    Mybatis-plus基于redis实现二级缓存过程解析

    这篇文章主要介绍了Mybatis-plus基于redis实现二级缓存过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • springboot不扫描@repository的问题及解决

    springboot不扫描@repository的问题及解决

    这篇文章主要介绍了springboot不扫描@repository的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • JAVA算法起步之插入排序实例

    JAVA算法起步之插入排序实例

    这篇文章主要介绍了JAVA算法起步之插入排序实例,需要的朋友可以参考下
    2014-02-02
  • 详解Java8的forEach(...)如何提供index值

    详解Java8的forEach(...)如何提供index值

    这篇文章主要介绍了详解Java8的forEach(...)如何提供index值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • PowerShell用户认证Function实例代码

    PowerShell用户认证Function实例代码

    这篇文章主要介绍了PowerShell用户认证Function的资料,并附实例代码,帮助大家学习理解,有需要的小伙伴可以参考下
    2016-09-09
  • 2021最新IDEA的各种快捷键汇总

    2021最新IDEA的各种快捷键汇总

    掌握idea的各种快捷键,可以帮助我们开发程序,今天小编给大家带来几种比较常用的idea快捷键及一些快捷键介绍,对idea快捷键相关知识,感兴趣的朋友一起看看吧
    2021-05-05
  • SpringBoot集成tomcat详解实现过程

    SpringBoot集成tomcat详解实现过程

    采用spring boot之后,一切变得如此简单,打包->java-jar->运维,只需要一个jar包便可以随意部署安装。这篇文章,将对 spring boot集成tomcat的源码进行分析,探索其内部的原理
    2023-02-02

最新评论