java 泛型类的定义

泛型的定义与普通类定义相比,首先在类名后增加了由尖括号标识的类型变量,一般用T表示。T可以在泛型中的任何地方使用。对于泛化接口也是这样定义。

我们来看看普通类Box以及Box的泛型的代码:

(1)普通类Box的定义

public class MyBox{
private Object object;
public void add(Object object) {
this.object = object;
}
public object get() {
return object;
}
}

(2)Box类的泛型定义

public class MyBox<T>{
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
}

在MyBox类的泛型定义中,将类声明中的“public class MyBox”改为“public class MyBox<T>”,并且把MyBox类体中所有的Object都用T进行替换,从而将MyBox定义为能存放各种确定类型对象容器的抽象类型

package practice;

public class MyBoxTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
MyBox<String> aBox = new MyBox<String>();
aBox.add(new String("阿璇"));
String i = aBox.get();
System.out.println(i);
}
}

输出:

阿璇

public class MyBoxTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
MyBox<Integer> aBox = new MyBox<Integer>();
aBox.add(newInteger("2018"));
Integer i = aBox.get();
System.out.println(i);
}
}

输出:

2018

原文地址:https://www.cnblogs.com/tiandiou/p/8419455.html

时间: 2024-08-01 09:16:37

java 泛型类的定义的相关文章

Java泛型的定义以及对于&lt;? extends T&gt;和&lt;? super T&gt;

Java 中对于泛型方法的定义: public <T> T getT(){ .....相关代码; } 其中我对<T>的理解就是申明只是一个泛型方法的标记,T是返回的类型. 对于泛型类的定义: public class Type<T>{ ....相关代码 } 上面写的是关于泛型方法和泛型类的定义.这里写这篇博客的主要目的是为了记录<? extends T> 和 <? super T>的理解. <? extends T>是上界通配符.逻辑

Java类的定义及其实例化

如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念 类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog{ String name; int age; void bark(){  // 汪汪叫 System.out.println("汪汪,不要过来"); } void hungry(){  // 饥饿 System.out.println("主人,我饿了")

JAVA数组的定义及用法

数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; 当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量. 另外一种形式对C++开发人员可能认为非常奇怪,只是对JAVA或C#这种开发语言来说,另外一种形式可能更直观,由于这里定义的仅仅是个变量而已,系统

泛型程序设计---泛型类的定义

泛型程序设计,程序设计都明白什么意思,那泛型呢?什么是泛型? 所谓泛型是指:额...好吧,说不清...举个例子吧:古代的宗教道教中有一句话,道生一,一生二,二生三,三生万物.这里的道即对应程序设计中的泛型,泛型很抽象,我也说不出所以然...(大家可以在文章下方留言讨论) 那么怎么定义泛型类呢? 语法如下: 在看语法之前,需要先了解 类型变量的概念.所谓类型变量是指:可以代替任何类型的一个变量,在定义时,可以使用字符(一般大写,且一般用T及其附近的字符):实际,声明泛型类的变量时,需要使用具体的类

java类中定义接口

今天看到一个java类中定义了接口,写个备忘录,记录一下 1 package com.gxf.test; 2 3 public class Test_interface { 4 public interface show{ 5 public void show(); 6 } 7 static class TestInterface implements show{ 8 9 @Override 10 public void show() { 11 System.out.println("this

java枚举的定义

package com.sadhu; /** java枚举的定义 枚举中可以定义构造器.方法.字段 所有枚举类都集成了Enum类 */ public class Sample {     public enum Size//定义枚举     {         SMALL("S"),//调用构造器 每个枚举值都要调用构造器         MEDIUM("M"),         LARGE("L"),         EXTRA_LARGE(&

1.Java类的定义及其实例化

类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog{ String name; int age; void bark(){  // 汪汪叫 System.out.println("汪汪,不要过来"); } void hungry(){  // 饥饿 System.out.println("主人,我饿了"); } } 对示例的说明: public 是类的修饰符,表明该类

java泛型类的继承规则

首先看一看java泛型类的使用: /** * 一个泛型方法:使程序更加安全 * 并且能被更多的使用 * @author 丁** * * @param <T> */ class Pair<T>{ private T first; private T second; //实例化类型变量 public static<T> Pair<T> makePair(Class<T> cl){ try { return new Pair<>(cl.ne

【mybatis】mybatis使用java实体中定义的常量,或静态方法

mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.cloud.luna.ms.dealer.api.beans.DealerInfoBean" resultType="com.pisen.cloud.luna.ms.dealer.api.beans.DealerInfoBean"> SELECT dea.uid uid, d