泛型

泛型 泛指某一种类型 ( 必须是 引用类型 )

明确时机:

1.有时候 创建对象的时候, 明确泛型

2.有时候 调用一个方法时, 明确泛型

3.有时候 创建一个类型,然后实现一个接口的时候 明确泛型

泛型的好处:

1.让程序更精准 准确 ,把一些运行时的错误,在编写的时候 避免掉

2.提高程序的 可拓展性 兼容性

泛型种类:

  1. 泛型方法
  2. 泛型类
  3. 泛型接口

实例:

第一种:每次使用 一种类型 就要创建 一个对象

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泛型简单入门的更多相关文章

  1. 大白话说Java泛型:入门、使用、原理

    文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java泛型:入门.使用.原理> 远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的代码都 ...

  2. java泛型 之 入门(interface)

    一:泛型简单介绍: (1)所谓泛型,就是变量类型的參数化. 泛型是JDK1.5中一个最重要的特征.通过引入泛型,我们将获得编译时类型的安全和执行时更小的抛出ClassCastException的可能. ...

  3. java泛型简单学习

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: //import java.util.List; public class GenericTest { public st ...

  4. 【Java基础】Java注解简单入门

    注解简单来说就是配置,是特别的配置,之前常用的配置文件,可以用注解替换.然后通过反射去获取注解的信息. 如何定义一个注解 你在IDE中新建一个注解定义,是这样的结构的: package com.nic ...

  5. Java泛型简单理解

    优点1: 没有使用泛型,向list集合中添加非字符串,运行时会报错:类型不匹配 ObjectList.java: package cn.nxl2018; import java.util.ArrayL ...

  6. java的简单入门,tomcat服务器

    Tomcat是一款开源的处理动态非常牛逼的web服务器.是sun公司开发的,在丧尸危机之后被收购了. 安装Tomcat需要的支持安装包 JDK下载:http://www.oracle.com/tech ...

  7. java 泛型简单使用

  8. 大白话说Java泛型(一):入门、原理、使用

    文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java泛型(一):入门.原理.使用> 远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的 ...

  9. JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)

    接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...

  10. Java中Redis简单入门

    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...

随机推荐

  1. 移动端如何自动适配px

    <script type="text/javascript"> (function(doc, win) { var docEl = doc.documentElemen ...

  2. PHP变量与变量作用域

    PHP变量与变量作用域 1. 变量的基本概念 在PHP中,变量用于存储各种类型的数据,如字符串.整数.浮点数.布尔值.数组和对象等.变量名以美元符号$开头,后面跟着一个或多个字符(变量名).例如: & ...

  3. StarUML画流程图

    一.新建流程图 1.1 新建流程图 1.2 左侧操作符介绍 Flow:顾名思义就是流,用来从一个操作流向下一个操作. Process: 过程 Terminator:用在结束的时候. Dicision: ...

  4. Ollama模型迁移

    技术背景 在前面的一些文章中,我们介绍过使用Ollama在Linux平台加载DeepSeek蒸馏模型,使用Ollama在Windows平台部署DeepSeek本地模型.除了使用Ollama与模型文件交 ...

  5. 面试官最想听到的Vue和React区别

    前言 欧阳最近找工作面试时总是被问到两个问题:Vue和React的区别和从编译原理的角度来聊聊Vue的template和React的jsx.面试官问这些问题一般是想了解你对这两个框架的理解,所以这是一 ...

  6. 2. MySQL的数据目录(详解讲解)

    2. MySQL的数据目录(详解讲解) @ 目录 2. MySQL的数据目录(详解讲解) 1. MySQL8 的主要目录结构 1.1 相关命令目录 1.2 配置文件目录 2. 数据库和文件系统的关系 ...

  7. ES6语法糖,超甜!

    ES6 语法糖 1. ... ... 表示取出可遍历数组中的内容. const arr = new Array() const numbers = [1,2,3,4,5] arr.push(...nu ...

  8. win11 输入法自定义短语输出日期时间变量

    自定义短语中输入%yyyy%-%MM%-%dd% %HH%:%mm%:%ss%

  9. OpenOffice已停更六年 文档基金会呼吁用户迁移LibreOffice

    OpenOffice 源代码发布至今已经有 20 年了.文档基金会近日发布公开信,表示说:"LibreOffice 是 OpenOffice 的未来.我们将会全力以赴".以此呼吁那 ...

  10. AI时代的灵魂拷问:我们真正的核心竞争力到底是什么?

    "当所有人都在谈论AI+的时候,今天我想聊一点不一样的..." 上周,朋友看着我用Cursor在30分钟内完成了他过去需要两天才能完成的工作. 那一刻,一种强烈的危机感涌上心头,他 ...