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 bash的安装与配置
作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 1.下载安装配置用户名和邮箱. (1)下载安装Github配置 ...
- Hadoop与MPP是什么关系?有什么区别和联系?
HADOOP与MPP是什么关系?有什么区别和联系? 适用范围.应用领域分别是什么? 其实MPP架构的关系型数据库与Hadoop的理论基础是极其相似的,都是将运算分布到节点中独立运算后进行结果合并.个人 ...
- C# 代码小技巧
一 .自动属性. 1.vs下输入prop,Tab键就出现了. 2.有了自动属性,我们不用再额外为一个类的每个公共属性定义一个私有字段(实际上没多大用处的字段), 但是通过反射还是可以看到对应的私有 ...
- 数据库SQL语言学习----左外连接,右外连接,外连接,自然连接的形象对比
现在有两张表,一张Student 另一张Score 1.查询每个学生及其选修课程的情况: 自然连接,Sno在Cscore中找不到就不显示,Cno在Cscore中找不到也不显示 SELECT Stu ...
- django模型系统(三)
1,自定义主键字段的创建 AutoFiled(pirmary_key=True) # 一般不会自定义 2,order_by asc desc 表关系 OneToOne student = mod ...
- zeal工具的安装与使用(离线api文档浏览器)
本来想下载一个dash来用一下,结果它只有mac版本,没有windows版,遂使用zeal zeal官网:https://zealdocs.org/ 文档地址:http://kapeli.com/do ...
- MyEclipse 10 + OsChina GIt项目托管
环境:Egit+MyEclipse 10,此教程默认MyEclipse 10和Egit都已经配置好. 1.注册OsChina Git账号,网址:http://git.oschina.net/,具体注册 ...
- 安卓打开远程调试(免root)
首先用数据线连接adb,在pc端执行: adb tcpip 5555 然后就能拔掉数据线了. pc执行这个: adb connect 172.19.208.2 就能连接上
- solr字段压缩属性compressed新版本已经移除
solr字段压缩属性compressed新版本已经移除 可能是考虑到压缩意义不大还减少搜索效率,所以去掉了.而且好像没有替代属性.
- JS数据类型的判断
在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefine ...