泛型

原创 2016年05月31日 13:58:16


泛型的实质是将数据的类型参数化,通过类、接口及方法设置类型参数来定义泛型。

泛型可以使一个类或一个方法可在多种不同类型的对象上进行操作,运用泛型意味着编写的代码可以被很多类型不同的对象所重用,从而减少数据类型转换的潜在错误

泛型类的定义是在类名后面加上<T>,泛型接口的定义是在接口名后面加上<T>,而泛型方法的定义是在方法的返回值类型前面加上<T>格式如下:

泛型类的定义:

[修饰符] class  类名<T>

泛型接口的定义:

[public]  interface 接口名<T>

泛型方法的定义:

[public] [static] <T> 返回值类型  方法名(T  参数)


泛型类的例子:

package pratice5;

public class App12_1 <T>{
	private T obj;
	public T getObj(){
		return obj;
	}
	public void setObj(T obj){
		this.obj=obj;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		App12_1<String> name=new App12_1<String>();
		App12_1<Integer> age=new App12_1<Integer>();
		name.setObj("陈 磊");
		String newName=name.getObj();
		System.out.println("姓名:"+newName);
		age.setObj(25);
		int newAge=age.getObj();
		System.out.println("年龄:"+newAge);
	}

}



泛型方法的例子:

package pratice5;

public class App12_2 {
	public static void main(String[] args){
		Integer[] num={1,2,3,4,5};
		String[] str={"红","橙","黄","绿","青","蓝","紫"};
		display(num);
		display(str);
	}
	public static <E> void display(E[] list){
		for(int i=0;i<list.length;i++){
			System.out.print(list[i]+" ");
		}
		System.out.println();
	}
}



2. Java面向对象之泛型-构造方法中使用

package generic; class Construtgeneric { private T value; public Construtgeneric(T value)...
  • i10630226
  • i10630226
  • 2015年07月28日 20:59
  • 1883

java泛型对象初始化--java泛型对象能实例化吗T t=new T()

java中没法得到泛型参数化类型,因为在编译期没法确定泛型参数化类型,也就找不到对应的类字节码文件,自然就不行了  泛型反射的关键是获取ParameterizedType,再调用它的getActual...
  • q383965374
  • q383965374
  • 2014年07月01日 19:08
  • 20500

简单的关于java的伪泛型的一个小例子

Java的泛型,不同于c#的泛型,    c#中的泛型无论在程序的源码中,编译后的IL中,还是在运行前的CLR中都切实存在的, List与List就是两个不同的类型,它们在运行期生成, 有自己的虚方法...
  • u013135520
  • u013135520
  • 2017年01月02日 23:13
  • 451

应用泛型的策略模式

应用泛型的策略模式作者:Dr. Heinz M. Kabutz   摘要策略模式相当的简单。通过使用这个模式,我们可以把一些内聚的状态转化为一些外在的状态,这样可以实现共享策略对象。当每一个策略对象为...
  • hivon
  • hivon
  • 2006年04月16日 10:25
  • 3685

设计模式之对象工厂(泛型实现)

对象工厂在面向对象的程序设计中用的很广泛,构成了面向对象程序的基础,本文简单的介绍了对象工厂模式,另外实现了一个泛型的实现。一、对象工厂是什么: 在面向对象的系统中,我们很容易写下如此的代码: S...
  • flyflyking
  • flyflyking
  • 2011年03月13日 17:38
  • 2469

1.用C#的泛型实现简单的工厂模式

Factory Method   结构   意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。   适用性 ...
  • right817
  • right817
  • 2012年04月18日 10:15
  • 1364

泛型&泛型的通配符使用

泛型   package itheima.com.GenericEx; import java.lang.reflect.InvocationTargetException; import j...
  • yaomqiao
  • yaomqiao
  • 2014年05月15日 10:27
  • 642

泛型继承的几种写法

泛型 继承
  • ShierJun
  • ShierJun
  • 2016年04月26日 20:41
  • 9414

Java返回泛型的方法-实例

package com.frank.app; import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; ...
  • lsm135
  • lsm135
  • 2017年01月06日 18:37
  • 789

开发积累—泛型工具类

前言:使用SSH2中使用的泛型工具类,以前写泛型比较麻烦。今天收集到一个工具类,好东呀!!分享给大家,绝对有用。JAVA版的web应用程序使用。...
  • u011331844
  • u011331844
  • 2014年05月19日 22:40
  • 1489
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:泛型
举报原因:
原因补充:

(最多只允许输入30个字)