java泛型简单入门
泛型
泛型 泛指某一种类型 ( 必须是 引用类型 )
明确时机:
1.有时候 创建对象的时候, 明确泛型
2.有时候 调用一个方法时, 明确泛型
3.有时候 创建一个类型,然后实现一个接口的时候 明确泛型
泛型的好处:
1.让程序更精准 准确 ,把一些运行时的错误,在编写的时候 避免掉
2.提高程序的 可拓展性 兼容性
泛型种类:
- 泛型方法
- 泛型类
- 泛型接口
实例:
第一种:每次使用 一种类型 就要创建 一个对象
public class Display<SH> { // 定义一个泛型类
public void show( SH sh ){
System.out.println(sh);
}
}
第二种:每次使用新的 数据类型 需要重写一个构造方法
public class Display1 { public void display( String s ){
System.out.println( s );
}
public void display( Integer i ){
System.out.println( i );
}
public void display( Boolean b ){
System.out.println( b );
} }
第三种:定义的泛型方法 带可变参数
public class Display2 { // 泛型类 作用于 类中所有方法
public <PY> void play( PY py ){ // 定义一个泛型方法 只作用于当前方法
System.out.println( py );
}
}
测试类:
public class demo1 {
public static void main(String[] args) {
// 泛型类的 可扩展性
Display<String> str = new Display<>();
str.show("asdfas"); Display<Integer> num = new Display<>();
num.show(547893); Display<Boolean> bln = new Display<Boolean>();
bln.show( true ); System.out.println("------------------------------"); // 普通 泛型方法
Display1 s = new Display1();
s.display("sfasg"); Display1 n = new Display1();
n.display(2345); Display1 b = new Display1();
b.display( true ); System.out.println("---------------------------"); // 带参可变的 泛型方法
Display2 p = new Display2();
p.play("asdfa");
p.play(345);
p.play(true);
p.play(3.14); }
}
java泛型简单入门的更多相关文章
- 大白话说Java泛型:入门、使用、原理
文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java泛型:入门.使用.原理> 远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的代码都 ...
- java泛型 之 入门(interface)
一:泛型简单介绍: (1)所谓泛型,就是变量类型的參数化. 泛型是JDK1.5中一个最重要的特征.通过引入泛型,我们将获得编译时类型的安全和执行时更小的抛出ClassCastException的可能. ...
- java泛型简单学习
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: //import java.util.List; public class GenericTest { public st ...
- 【Java基础】Java注解简单入门
注解简单来说就是配置,是特别的配置,之前常用的配置文件,可以用注解替换.然后通过反射去获取注解的信息. 如何定义一个注解 你在IDE中新建一个注解定义,是这样的结构的: package com.nic ...
- Java泛型简单理解
优点1: 没有使用泛型,向list集合中添加非字符串,运行时会报错:类型不匹配 ObjectList.java: package cn.nxl2018; import java.util.ArrayL ...
- java的简单入门,tomcat服务器
Tomcat是一款开源的处理动态非常牛逼的web服务器.是sun公司开发的,在丧尸危机之后被收购了. 安装Tomcat需要的支持安装包 JDK下载:http://www.oracle.com/tech ...
- java 泛型简单使用
- 大白话说Java泛型(一):入门、原理、使用
文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java泛型(一):入门.原理.使用> 远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的 ...
- JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...
- Java中Redis简单入门
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...
随机推荐
- mysl 修改数据存储位置后服务启动后停止
在 Windows 系统中安装完 mysql 后,如果是生产用的机器,通常会修改数据存储位置.基本步骤: 1. 停止 mysql 服务: 2. 修改 my.ini 文件中的 datadir=" ...
- 通讯录管理系统(C++基础知识实现)
通讯录管理系统 描述:本人C++小白一枚,正在学习C++基础知识,给大家分享一款使用C++基础知识实现的通讯录管理系统,一起努力进步,大佬轻点喷. 1. 知识点 (1) 预处理器指令 (#includ ...
- 从cos下载文件
新建test.sh脚本 #!/bin/bash set -e cospath=https://11111.cos.ap-beijing.myqcloud.com/emr/hive/script/202 ...
- 什么是Lambda架构?
一.简介 Lambda架构(Lambda Architecture)是由Twitter工程师南森·马茨(Nathan Marz)提出的大数据处理架构. 这一架构的提出基于马茨在BackType和Twi ...
- 如何训练LLM“思考”(像o1和DeepSeek-R1一样, 高级推理模型解析
2024年9月,OpenAI发布了它的o1模型,该模型基于大规模强化学习训练,赋予了它"高级推理"能力.不幸的是,他们是如何做到这一点的细节从未被公开披露.然而,今天,DeepSe ...
- 若依单体Vue版本新增多环境配置
若依框架是一个简单的web后台管理脚手架,基于SpringBoot+Vue开发的.本次更改版本为3.8.7截止2023年8月14日,最新版本! 若依自带只有 application.yml 与 app ...
- Python类型提示完全指南:用类型安全重构你的代码,提升10倍开发效率
title: Python类型提示完全指南:用类型安全重构你的代码,提升10倍开发效率 date: 2025/2/23 updated: 2025/2/23 author: cmdragon exce ...
- Github Copilot的使用方法和快捷键
GitHub Copilot是一款由GitHub和OpenAI共同开发的代码智能补全工具,它使用机器学习模型来为你提供代码建议和自动完成,可以加快开发过程并提高代码质量.下面是使用GitHub Cop ...
- MediaToolkit:.NET 开发者的多媒体处理工具
MediaToolkit:.NET 开发者的多媒体处理工具 在开发过程中处理音频和视频文件是许多应用程序的重要功能.MediaToolkit 是一个强大的 .NET 库,帮助开轻松处理这些多媒体文件. ...
- redis - [05] Java & Redis
题记部分 一.准备工作 下载jedis.jar或者在maven配置文件中配置jar包依赖 二.连接redis import redis.clients.jedis.Jedis; public clas ...