package T泛型;
/*
* 泛型
* JDK1.5提出了泛型概念。
* 在泛型之前,java提供了对Object的引用任意化操作,即对Object引用进行
* 向下转型及向上转型操作,但是某些强制类型转换的错误也许不会被编译器捕捉,
* 而在运行后出现异常,为了消除强制类型转换存在的安全隐患,因此java提供了泛型机制。
*
*/
public class Test {
/*
* 向上转型与向下转型
*/
private Object b;//定义Object类型的成员变量
public Object getB() {
return b;
}
public void setB(Object b) {
this.b=b;
}
public static void main(String[] args) {
Test t=new Test();
t.setB(new Boolean(true));//向上转型
System.out.println(t.getB());
t.setB(new Float(12.3));
//Integer f=(Integer) t.getB();//java.lang.ClassCastException
Float f=(Float) t.getB();//向下转型
System.out.println(f);
}
}
/*
* 泛型
* JDK1.5提出了泛型概念。
* 在泛型之前,java提供了对Object的引用任意化操作,即对Object引用进行
* 向下转型及向上转型操作,但是某些强制类型转换的错误也许不会被编译器捕捉,
* 而在运行后出现异常,为了消除强制类型转换存在的安全隐患,因此java提供了泛型机制。
*
*/
public class Test {
/*
* 向上转型与向下转型
*/
private Object b;//定义Object类型的成员变量
public Object getB() {
return b;
}
public void setB(Object b) {
this.b=b;
}
public static void main(String[] args) {
Test t=new Test();
t.setB(new Boolean(true));//向上转型
System.out.println(t.getB());
t.setB(new Float(12.3));
//Integer f=(Integer) t.getB();//java.lang.ClassCastException
Float f=(Float) t.getB();//向下转型
System.out.println(f);
}
}
运行结果
true
12.3