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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#niaoge.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。