首页 > 编程语言 >java中的泛型

java中的泛型

时间:2024-06-02 15:11:11浏览次数:15  
标签:java Object 接口 类型 泛型 父类 类名

目录

一、定义

class 类名<泛型标识1,泛型标识2,…>{
	private 泛型标识1 变量名;
}

常用的泛型标识: T,E,K,V

二、使用语法

类名<具体的数据类型> 对象名 = new 类名<具体的数据类型>();
// 在java7以后,后面的<>中具体的数据类型可以省略不写
类名<具体的数据类型> 对象名 = new 类名<>();

泛型的本质是参数化类型,也就是具体的数据类型被指定为一个参数

三、注意事项

  1. 泛型在创建对象时,没有指定泛型类,将按照Object类型进行操作
  2. 泛型不支持基本类型,原因是编译期间会将泛型标识编译成Object类型
  3. 统一泛型,根据不同的数据类型创建的对象,本质上是同一类型

四、从泛型类派生子类

  • 情况一

如果一个类的父类是一个泛型类的话,那么这个类的泛型参数需要和父类的泛型参数保持一致,并且在extends的时候,父类的泛型参数可以不写,如果父类没有指明泛型类型按照Object类型处理

  • 情况二

子类不是泛型类时,父类的泛型类型必须得指明,如果父类不指明就按照Object类型处理

五、泛型接口

  • 语法

interface 接口名 <泛型标识1,...>{
    泛型标识1 方法名;
    泛型标识1 变量名;
}
  • 接口的使用

    1. 实现类如果不是泛型,接口类型必须要明确,如果接口没有明确泛型类型,那么就按照Object类型处理
    2. 实现类是泛型,泛型形参必须与接口的泛型形参一致,如果父类没有指明泛型类型,则按照Object类型处理

标签:java,Object,接口,类型,泛型,父类,类名
From: https://www.cnblogs.com/ning23/p/18227153

相关文章

  • 华为od机考_精准核酸检测_Java(深度优先搜索)
    华为od机考_精准核酸检测_Java题目为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准還定可能被感染的人群。现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人员编号(X1,X2,X3,…Xn),在所有人当中......
  • JAVA计算机毕业设计基于Vue学生选课管理系统(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在现代高等教育体系中,学生选课管理是一项复杂且至关重要的工作。随着学生人数的不断增加和课程种类的日益丰富,传统的手工选课管理方式已经无法满足高......
  • JAVA计算机毕业设计基于vue图书馆选座系统设计与实现(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校图书馆的日益繁忙和学生对学习环境需求的提高,图书馆座位管理成为了一个亟待解决的问题。传统的图书馆座位管理方式往往存在效率低下、资源浪......
  • 毕业设计-基于Java 和 Mysql 实现的宿舍管理系统
    毕业设计-基于Java和Mysql实现的宿舍管理系统    学生宿舍管理系统,是基于Java,数据库是mysql数据库。本地已调试好,可以直接部署使用。    功能还是比较丰富的,包含了学生、班级、宿舍、卫生、访客等内容的添加、删除、导出;用户还分管理员和普通用户。主要实......
  • Java 线程诊断实战-全面解锁线程转储分析技巧
    大家好!今天,我将为大家带来一个非常实用的主题——如何高效诊断和分析Java线程问题。无论是死锁、线程阻塞,还是资源耗尽等情况,都可能会给线上系统带来严重的影响。而恰当地使用线程转储(ThreadDump)工具无疑是定位和解决问题的重要一环。让我们一同来学习和掌握相关的......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript公司网站(自行车)
    HTML+CSS+JS【公司网站】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 数组的降序排序(Java)
    代码:importjava.util.*;publicclasssz{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);//定义数组长度System.out.println("请输入数组的长度:");intlength=scanner.nextInt();......
  • LCS算法 java
    最优子结构(OptimalSubstructure)最优子结构性质是指问题的最优解可以由其子问题的最优解构造而成。换句话说,如果一个问题可以分解成若干子问题,并且这些子问题的最优解能够组合成原问题的最优解,那么这个问题就具有最优子结构性质。最长公共子序列(LCS)最长公共子序列问题是一个......
  • JAVA基础|多线程
    什么是线程?线程(Thread)是一个程序内部的一条执行流程。多线程是什么?多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)一.如何在程序中创建出多条线程?Java是通过java.lang.Thread类的对象来代表线程的。1.多线程的创建方式一:继承Thread类定义一......
  • 插入排序详解及Java代码实现
    在计算机科学中,排序是一种基本的操作,它广泛应用于各种数据处理场景。插入排序(InsertionSort)是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的......