当前位置:主页 > java教程 > Java泛型类与泛型方法的定义详解

Java泛型类、泛型方法的理解

发布:2020-02-27 18:14:05 171


给寻找编程代码教程的朋友们精选了Java相关的编程文章,网友詹采莲根据主题投稿了本篇教程内容,涉及到Java、泛型类、泛型方法、Java泛型类与泛型方法的定义详解相关内容,已被713网友关注,内容中涉及的知识点可以在下方直接下载获取。

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程序设计有所帮助。


参考资料

相关文章

  • Java 中 Date 与 Calendar 之间的编辑与转换示例效果

    发布:2020-02-21

    这篇文章主要介绍了Java 中 Date 与 Calendar 之间的编辑与转换 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下


  • java调用webService接口的代码实现

    发布:2023-04-19

    本文主要介绍了java调用webService接口的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • OpenTelemetry Java SDK 高级用法解析

    发布:2023-04-03

    这篇文章主要介绍了OpenTelemetry Java SDK 的高级用法示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • 实例分析JavaScript实现的拼图算法

    发布:2020-02-21

    这篇文章主要介绍了JavaScript实现的拼图算法,结合实例形式分析了javascript图形拼接与判定算法相关操作技巧及注意事项,需要的朋友可以参考下


  • 详解Java中的HashTable

    详解Java中的HashTable

    发布:2022-06-17

    给网友朋友们带来一篇关于Java的教程,这篇文章主要介绍了Java中的HashTable的相关资料,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下


  • Java NIO三大组件与ByteBuffer深入理解及使用

    发布:2023-03-10

    这篇文章主要介绍了Java NIO三大组件与ByteBuffer,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧


  • java邮件通知工具类代码详解

    发布:2019-12-20

    这篇文章主要为大家详细介绍了java邮件通知工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Java selenium处理极验滑动验证码示例

    Java selenium处理极验滑动验证码示例

    发布:2022-09-07

    为网友们分享了关于selenium的教程,本篇文章主要介绍了Java selenium处理极验滑动验证码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


网友讨论