Java定义泛型接口和类的方法实例分析

 更新时间:2019年08月01日 08:36:50   作者:cakincqm  
这篇文章主要介绍了Java定义泛型接口和类的方法,结合实例形式分析了泛型相关概念、原理及泛型接口与类的定义实现方法,需要的朋友可以参考下

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

一 点睛

所谓泛型:就是允许在定义类、接口指定类型形参,这个类型形参在将在声明变量、创建对象时确定(即传入实际的类型参数,也可称为类型实参)。

JDK1.5改写了集合框架中的全部接口和类,为这些接口、类增加了泛型支持,从而可以在声明集合变量、创建集合对象时传入类型实参。

二 实战

1 代码

// 定义Apple类时使用了泛型声明
public class Apple<T>
{
  // 使用T类型形参定义实例变量
  private T info;
  public Apple(){}
  // 下面方法中使用T类型形参来定义构造器
  public Apple(T info)
  {
   this.info = info;
  }
  public void setInfo(T info)
  {
   this.info = info;
  }
  public T getInfo()
  {
   return this.info;
  }
  public static void main(String[] args)
  {
   // 由于传给T形参的是String,所以构造器参数只能是String
   Apple<String> a1 = new Apple<>("苹果");
   System.out.println(a1.getInfo());
   // 由于传给T形参的是Double,所以构造器参数只能是Double或double
   Apple<Double> a2 = new Apple<>(5.67);
   System.out.println(a2.getInfo());
  }
}

2 运行

苹果
5.67

3 说明

当创建泛型类时,为该类定义的构造器时,构造器名还是原来的类名,不要增加泛型声明。例如,为Apple<T>类定义构造器时,其构造器还是Apple,而不是Apple<T>。

调用构造器时,却可以使用Apple<T>的形式,当然应该为T形参传入实际的类型参数。Java 7提供了菱形语法,允许省略<>中的类型实参。

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

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

相关文章

  • Mybatis Plus使用@TableId之坑及解决

    Mybatis Plus使用@TableId之坑及解决

    这篇文章主要介绍了Mybatis Plus使用@TableId之坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot万字爆肝高级配置

    SpringBoot万字爆肝高级配置

    SpringBoot不仅支持常规的properties配置文件,还支持yaml语言的配置文件,yaml是以数据为中心的语言,在配置数据的时候具有面向对象的特征。application.properties是比较常见的配置文件,SpringBoot的全局配置文件的作用是对一些默认配置的配置值进行修改
    2022-07-07
  • 关于JSqlparser使用攻略(高效的SQL解析工具)

    关于JSqlparser使用攻略(高效的SQL解析工具)

    这篇文章主要介绍了关于JSqlparser使用攻略(高效的SQL解析工具),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java实现简易俄罗斯方块

    Java实现简易俄罗斯方块

    这篇文章主要为大家详细介绍了Java实现简易俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Java实现FTP文件上传

    Java实现FTP文件上传

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。本文将讲解如何用Java实现FTP文件上传
    2021-05-05
  • Mybatis常见注解有哪些(总结)

    Mybatis常见注解有哪些(总结)

    这篇文章主要介绍了Mybatis常见注解有哪些(总结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • spring data jpa使用详解(推荐)

    spring data jpa使用详解(推荐)

    这篇文章主要介绍了spring data jpa使用详解(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门)

    新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门)

    本文主要介绍了JAVA 日期类Date SimpleDateFormat Calendar,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 如何将SpringBoot项目打成 war 包并部署到Tomcat

    如何将SpringBoot项目打成 war 包并部署到Tomcat

    这篇文章主要介绍了如何将SpringBoot项目 打成 war 包 并 部署到 Tomcat,当前环境是windows,tomcat版本是8.5采用的springboot版本是2.2.3,本文结合实例代码给大家详细讲解需要的朋友可以参考下
    2022-11-11
  • Java8利用Stream实现列表去重的方法详解

    Java8利用Stream实现列表去重的方法详解

    这篇文章主要为大家介绍了Java利用Stream实现列表去重的几种方法详解,文中的示例代码讲解详细,需要的小伙伴可以参考一下
    2022-04-04

最新评论