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) { ...
随机推荐
- redis hset hmset过期时间
hmset m k v > hset m k v (integer) > hget m k "v" > expire m (integer) > ttl m ...
- Html 页面载入内容前,显示 loading 效果。
Html 内容 loading部分: <div id="sys-loading" class=""><div class="spin ...
- C# 代码小技巧
一 .自动属性. 1.vs下输入prop,Tab键就出现了. 2.有了自动属性,我们不用再额外为一个类的每个公共属性定义一个私有字段(实际上没多大用处的字段), 但是通过反射还是可以看到对应的私有 ...
- IntelliJ IDEA中Terminal路径的问题(win7环境)
在安装java jdk,配置系统变量后,再安装idea,有时候会出现使用idea中Termimal进行编译运行java文件出现,javac/java不是内部命令,或者“错误: 找不到或无法加载主类”的 ...
- springJdbc(jdbcTemplate)事物拦截失效问题解决
先贴上web.xml和spring-jdbc.xml代码: web.xml代码: <context-param> <param-name>contextConfigLocati ...
- [转]检测到有潜在危险的 Request.Form 值
<system.web> <httpRuntime targetFramework="4.0" requestValidationMode="2.0&q ...
- websocket简单理解
实现及原理 Websocket是一种在单个TCP连接上进行全双工通讯的协议. WebSocket 首先发起一个 HTTP 请求,在请求头加上 `Upgrade` 字段,该字段用于改变 HTTP 协议版 ...
- pt-table-checksum校验与pt-table-sync修复数据
1:下载工具包 登录网站下载相应的工具包 https://www.percona.com/downloads/percona-toolkit/LATEST/ 2:安装 (1)yum安装: sudo y ...
- Vue 目录结构 绑定数据 绑定属性 循环渲染数据
一.目录结构分析 node_modules 项目所需要的各种依赖 src 开发用的资源 assets 静态资源文件 App.vue 根组件 main.js 配置路由时会用 .babelrc 配置文件 ...
- vim常用操作和使用技巧
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...