1.泛型就是让程序员定义安全的类型,FanXinTest的强制转换类型错误不会被编译器捕捉,而运行后出现异常,存在安全隐患,所以提供了泛型机制。
class FanXinTest
{
private Object a;
public Object getA(){
return a;
}
public void setA(Object _a){
this.a = _a;
}
public static void main(String[] args)
{
FanXinTest test = new FanXinTest();
test.setA(new Boolean(true)); //向上转型
System.out.println(test.getA());
test.setA(new Float(12.3));
System.out.println((Float)test.getA());//向下转型
// Integer f = (Integer)test.getA(); //转型错误,编译时不报错,运行时出错
// System.out.println(f);
/*使用泛型*/
OverClass<Boolean> oc = new OverClass<Boolean>();
oc.setOver(true); //不需要类型转换
System.out.println(oc.getOver());
}
}
/*泛型类*/
class OverClass<T>
{
private T over;
public T getOver(){
return this.over;
}
public void setOver(T _over){
this.over = _over;
}
}
1