java 泛型

对于java中的泛型自己理解为:泛型的定义说白了就是,传带参数类型的类,方法,接口,就好比是定义时方法中传入参数一样

为什么定义泛型:

1.Java泛型可以解决类型安全问题,如果没有泛型集合中可以放入任何类型

2.没有泛型的遇到的麻烦:从集合中获取参数的时候,需要强制转换

3.泛型的使用有使用泛型类,使用泛型方法

注意:

1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。

2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。

3、泛型的类型参数可以有多个。

4、泛型的参数类型可以使用extends语句,例如<T extendssuperclass>。习惯上成为有界类型

5、泛型的参数类型还可以是通配符类型。例如Class<?> classType =Class.forName(Java.lang.String);

代码:

泛型的定义

//定义泛型类,可以理解为带一个参数类型为T的类
public class Dao <T>{
	
	//类中的方法和变量的声明可以用该类的类型T
	public T get(int id){
		//定义T类型的变量
		T result = null;
		
		return result;
	}
	
	//定义泛型方法,<E>和定义类一样表示
	//传入一个参数E类型的方法,该<>中可以有多个参数,之间用逗号隔开
	public <E> E gets(E name){
		E result = null;

		return result;
	}
	
}



继承泛型类的情况

第一种:继承时把父类泛型参数带上,而子类没有则编译不过,如

public class Child1 extends Parent<T> {

}


第二种:子类也带上父类的参数类型,编译通过

public class Child2<T> extends Parent<T> {

}



第三种:父类不带上参数<T>,编译通过

public class Child3 extends Parent{

}


还有关泛型继承的几种测试参考:
http://blog.csdn.net/java2000_net/article/details/3081472

还请各位指出不足之处,谢了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值