Java初学者笔记五:泛型处理

一、泛型类:

泛型是指适用于某一种数据类型而不是一个数据机构中能存不同类型

 1 import java.io.*;
 2 import java.nio.file.Files;
 3 import java.nio.file.Paths;
 4 import java.util.List;
 5
 6 class myClass<Type>{
 7     public Type[] tlist;
 8     public Type tobject;
 9     @SuppressWarnings("unchecked")
10     myClass(int maxsize,Type object){
11         this.tlist = (Type[])new Object[maxsize];
12         this.tobject = object;
13     }
14     public Type getMyObject() {
15         return this.tobject;
16     }
17     public Type[] getMyList() {
18         return this.tlist;
19     }
20     public void setMyObject(Type object) {
21         this.tobject = object;
22     }
23 }
24
25 public class test{
26     public static void main(String args[]) throws IOException {
27         myClass<String> newone = new myClass<String>(5,"5");
28         System.out.println(newone.getMyList());
29         System.out.println(newone.getMyObject());
30         newone.setMyObject("6");
31         System.out.println(newone.getMyObject());
32     }
33 }

1、知识点1--变量定义:

关于泛型变量(非数组)的定义:

1 class myClass<T>{
2   public T t;
3   myClass(T newt){
4     this.t = newt;
5   }
6 }

关于数据的泛型定义:

1 @SuppressWarnings("unchecked")
2 myClass(int maxsize){
3     this.tlist = (Type[])new Object[maxsize];
4 }

2、知识点2--泛型的实例化

这里需要显式的指出数据类型

1 myClass<String> newone = new myClass<String>(5,"5");

二、泛型接口:

 1 public interface myinterface<T>{
 2           public T next();
 3 }
 4 //接口需要继承
 5 public class myclass implements myinterface<String>{//继承时候显式定义类型
 6           private String[] stringlist=new String[]{"a1","b1","c1"};
 7           @Override
 8           public String next(){
 9                     Ramdom rand=new Random();
10                     return stringlist[rand.nextInt(3)];
11           }
12 }

三、泛型方法:

1、在泛型类下的泛型方法:

泛型参数:

1 public void show(T t){
2   System.out.println(t);
3 }

泛型返回值

1 public T getObject(){
2   return this.t;
3 }

2、单独的泛型方法:

1 public stati <T> void out(T t){
2   System.out.println(t);
3 }

原文地址:https://www.cnblogs.com/KevinGeorge/p/8563575.html

时间: 03-13

Java初学者笔记五:泛型处理的相关文章

Java基础笔记:泛型

内容:Java中的泛型 优秀文章:新浪博客-海洋星球:http://blog.sina.com.cn/s/blog_44c1e6da0100cus3.html书籍:细说Java.疯狂Java讲义 说明:泛型是于Java SE1.5添加的新特性:泛型的本质是参数化类型,简单来说就是将泛型看作一个或多个参数,使用这个参数的代码片段可以由任何具体类类型的参数来替换:泛型的参数类型只能是类类型,不能是简单类型(简单类型是指不能再简化的编程语言内置数据类型,java中有实数-float-double.整数

【Java读书笔记】 -- 泛型

泛型简介 Java SE 5.0中增加泛型机制的主要原因是为了满足在1999年定制的最早的Java规范需求之一(JSR 14).专家组花费了五年左右的时间来定义规范和测试实现.使用范型程序编写的程序代码比起那些杂乱的使用Object变量,然后再进行强制类型转化的代码具有更好的安全性和可读性,范型对于集合尤其有用. 为什么要使用泛型程序设计 泛型程序设计(Generic programming)意味着编写的代码可以被很多不同类型的对象所重用. 在Java SE 5.0之前,Java泛型程序设计上用

java初学者笔记总结day10

数组的概念 数组一种数据类型->引用类型作用 之前学习的数据类型都只能装一个值,数组可以装多个值. 一维数组定义引用语法1:数组元素的类型 [] 变量名;(java方式-推荐)语法2:数组元素的类型 变量名 [] ;(c 保留) 创建数组对象--定义引用并静态初始化:知道数组的长度和内容.语法: 数组元素的类型 [] 变量名=new 数组元素的类型 []{元素1,元素2...}; 创建数组对象--定义引用并动态初始化:知道数组的长度.语法: 数组元素的类型 [] 变量名=new 数组元素的类型

Java学习笔记五(多线程)

1.介绍 线程能够使程序具有两条和两条以上的可执行的路径,尤其对多核CPU特别的重要. 2.创建线程 1.继承Thread类 一个类直接的继承Thread类的话,此类就具有了线程的能力,接下来只需要重写继承的run()即可. <span style="font-size:18px;">package com.Thread; //定义实现Runnable接口的类 class MyThread11 extends Thread { //实现run方法,指定线程执行的任务 pub

Java核心技术 笔记五 OOP

java 的核心就是面向对象 (完全面向对象的) 面向对象程序设计 就必须清楚对象的三个主要特性 1.对象的行为 2.对象的状态 3.对象标识 除此之外 还需要了解对象之间的关系 比较常见的关系有 依赖 继承 聚合 在Java程序中 程序员应该尽可能的将相互依赖的类减到最少  即减少类间的耦合度 在Java中  并不是所有的类都是具有面向对象的特征 如math类 date类 在对象与对象变量之间存在着一个重要的区别 Date deadline; 这里的定义了一个对象变量deadline   它可

Java学习笔记五——流程控制

分支结构 Java提供了两种常见的分支控制结构:if语句和switch语句. if语句 if语句使用布尔值或布尔表达式(表达式结果为布尔值),if语句有3中形式: 第一种形式: if (5 > 3) { System.out.println("5 > 3"); } 第二种形式: if (5 > 3) { System.out.println("5 > 3"); } else{ System.out.println("5 < 3

java初学者笔记总结day8

final关键字:最终的 常量:定义一次,赋值一次变量:定义一次,赋值多次 常量的类型 1)基本类型:常量本身存储的值(业务数据)不能更改 2)引用类型:常量本身存储的值(对象的地址)不能更改,对象的内容可以更改的.a)修饰变量--->常量 1)局部常量 方法的参数(局部常量):在方法中不能赋值,因为调用的时候已经赋值. 2)成员常量 没有默认值,必须创建对象保证所有的成员常量都有默认值 a)定义及赋值 b)构造块 c)构造器 3)静态常量 没有默认值,必须加载类之后保证所有的静态常量都有默认值

java初学者笔记总结day2

字符集:用来编码和解码字符用的 定义了很多字符和整数对应的关系,字符集有很多种 例如:ascii ,utf-8 ,gbk,unicode(utf-16) ascii:最基本的字符集,定义了(数字,字母,常用标点符号),并且其他字符集从ascii扩展而来. 字符编码(存储字符信息的过程):把[字符]转换为指定字符集的[整数]的过程字符解码(显示字符信息的过程):把[整数]转换为指定字符集的[字符]的过程 char:存储一个字符 占用空间:2 byte 字符集:unicode(utf-16) 整数范

java初学者笔记总结day7

eclipse->debugger模式作用?-->调试程序的错误(运行错误)可以动态执行程序代码,并且可以在执行的时候查看到当前执行环境的变量(常量)的值.debugger调试的步骤1)设置断点2)通过debuubger运行程序3)切换到debuger平台4)根据debugger的视图进行调试 访问修饰符 作用?-->控制资源(类,属性,方法)能访问的位置 4个级别 访问位置a)public(公共的): 1)本类中2)同包其他类3)子类中4)其他包其他类b)protected(受保护的)

JAVA学习笔记(五十)- JDBC Java数据库连接

JDBC操作步骤 /* * JDBC操作步骤 * */ public class Test01 { public static void main(String[] args) { try { //1.加载并注册驱动 Class.forName("com.mysql.jdbc.Driver"); //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); System.out.println("注册驱动成功!&qu