自定义泛型类补充

我们在定义泛型时并不指定泛型的类型,而是使用占位符。在需要实例化对象时再传入泛型的类型

下面是一个双参数的自定义的泛型类。

package cn.hpu.generic;

public class Num2Generic<T,X>{

	private T num1;
	private X num2;
	
	public T getNum1() {
		return num1;
	}
	public void setNum1(T num1) {
		this.num1=num1;
	}
	public X getNum2() {
		return num2;
	}
	public void setNum2(X num2) {
		this.num2=num2;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Num2Generic<Integer,Float> obj=new Num2Generic<Integer,Float>();
		obj.setNum1(10);
		obj.setNum2(123.4f);
		System.out.println("Integer:"+obj.getNum1()+" Float"+obj.getNum2());
		
		
		Num2Generic<Integer,String> obj2=new Num2Generic<Integer,String>();
		obj2.setNum1(456);
		obj2.setNum2("你好");
		System.out.println("Integer:"+obj2.getNum1()+"  String:"+obj2.getNum2());
		

	}

}

总结:认真观察,不难得出所谓的自定义泛型类和我们使用集合泛型时,没有大的区别。只是集合泛型明确指明了泛型得类型,而我们自定义泛型类使用了占位符,没有指定泛型的类型,等实例化对象时才明确给出泛型的类型。

猜你喜欢

转载自blog.csdn.net/ll123c/article/details/88393620