Java17-java语法基础——泛型
Java18-java语法基础——泛型
一、泛型概念和作用
1、泛型概念:
泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说,所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
把指定类型的工作推迟到客户端代码声明并实例化类或方法时进行。
2、泛型作用:
(1)提高Java程序的类型安全
(2)消除代码中许多强制类型转换、
(3)系统优化
3、泛型应用:
泛型类、泛型接口、泛型方法
二、泛型定义与使用
1、泛型定义
(1)泛型类的定义
class 类名<泛型类型标识符1,泛型类型标识符2,...泛型类型标识符n>{
泛型类型标识 数据成员;
泛型类型标识 成员方法;
返回值类型 成员方法名称(泛型类型标识符 参数名){}
}
(2)泛型对象的定义
类名<具体类> 对象名 = new 类名<具体类>();

(3)泛型方法的定义
使用构造方法初始化类的数据成员,也可以在泛型类型中定义构造方法。
[访问权限] 类名([泛型类型 参数]){
//方法体
}

(4)泛型通配符“?”
方法的参数类型采用泛型通配符,表示可以是任何该对象的泛型。

四、泛型接口
1、泛型接口定义:
interface 接口名<泛型类型标识符1,泛型类型标识符2,...泛型类型标识符n >{
方法实现;
}
2、泛型接口的实现
(1)在实现接口的子类中声明泛型
class 类名<泛型类型标识符> implements 泛型类型名<泛型类型标识符>{
方法实现;
}
(2)在实现接口的子类中明确给出泛型类型
class 类名 implements 泛型类型名<泛型类型的具体类型>{
方法实现;
}
3、实例
(1)在子类中声明泛型类型

(2)在子类中指定泛型类型

Java17-java语法基础——泛型的更多相关文章
- Java语法基础(1)
Java语法基础(1) 1. Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...
- Java语法基础学习DayTwelve(泛型)
一.泛型(Generic)在集合中的使用 1.作用 (1)解决元素存储的安全问题 (2)解决获取数据元素时,需要类型强转的问题 2.代码案例 //在集合没有使用泛型的情况下 List list = n ...
- java语法基础(一)
这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...
- JAVA语法基础作业——动手动脑以及课后实验性问题 (八)
一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...
- java语法基础
Java的基本符号(token) Java的单词符号有五种:关键字.标识符.常量.分隔符和操作符. Java的字符集 Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见 ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- Java语法基础(一)----关键字、标识符、常量、变量
一.关键字: 关键字:被Java语言赋予特定含义的单词.组成关键字的字母全部小写.注:goto和const作为保留字存在,目前并不使用.main并不是关键字. 二.标识符: 标识符:就是给类,接口,方 ...
- 黑马程序员——【Java基础】——Java语法基础
---------- android培训.java培训.期待与您交流! ---------- 一.关键字 1.定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有的字母都为小写. ...
- JAVA语法基础(课堂ppt问题总结)
一:运行源代码EnumTest.java,分析运行结果. 代码如下: public class EnumTest { public static void main(String[] args) { ...
随机推荐
- 快速部署私人git服务--基于docker化Gogs
Gogs 一款极易搭建的自助 Git 服务. 环境 Linux系统 docker 获取gogs镜像,并运行, docker run -it --: -p : -v /var/gogs:/data go ...
- Microsoft Azure News(7) Azure B系列虚拟机
<Windows Azure Platform 系列文章目录> 最近微软Azure新数据中心上线了B系列的虚拟机,我这边研究了一下,给大家分享. Azure B系列虚拟机,其实是Burst ...
- Pyhon文件的用途
Python1个文件2种用途: 当文件被当做脚本运行时 __name__='__main__'当模块被导入使用 __name__='spam' ==>等于模块名 假定spam代码如下 money ...
- c#继承 里氏转化原则
继承: 是c#中面向对象一个重要概念: 用一个已经存在的类去定义一个新的类 新的类叫做 子类/派生类 已经存在的类叫做 父类/基类 c#中所以类的最终基类都是Object类 声明 访问修饰符 ...
- gitea 源码阅读笔记 002 生成无依赖单文件可执行包
gitea bindata static gitea 可以通过 make generate 生成一个单文件可执行程序, 该文件不需要任何其它依赖,直接可以单独执行. 对于用户的安装.升级和生成dock ...
- 学习MeteoInfo二次开发教程(八)
总体没什么问题. 1.创建Projection菜单,Lambert,Geographic,ShowLatLon子菜单. 2.需要添加: using MeteoInfoC.Projections; 3. ...
- doris 0.9.0版本docker镜像制作与使用
1. 安装docker 详情请参见本人博客 2. 编译doris 详情请参见doris官网文档 3. 在编译好的doris output文件夹下编写两个Dockerfile 3.1 Dockerfi ...
- 【待考察】Appium使用技巧,助你快速入门移动端自动化!
Appium使用技巧,助你快速入门移动端自动化! 原创: 柠檬班superman 柠檬班软件测试 1月4日 关注并置顶[柠檬班]的小哥哥小姐姐 “猪”年行大运 说说最近研究移动端的自动化 移动端的自动 ...
- Python入门教程丨1300多行代码,让你轻松掌握基础知识点
欢迎关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 前言 本文适合有经验的程序员尽快进入Python世界.特别地 ...
- 关于tp5自动过滤index.php
在public/.htaccess 中输入这段代码即可实现过滤index.php <IfModule mod_rewrite.c> Options +FollowSymlinks -Mul ...