分析:使用泛型强制类型为某类型,比如上面为Integer,在使用setVar()方法时如果参数不是Integer(如String),程序就会报错,提示输入非法。当然你认为也可以不用泛型,比如将Point定义如下:
class Point1{
private Object var;
public Object getVar(){
return var;
}
public void setVar(Object var){
this.var=var;
}
}
此时,Test程序依然可以运行,但是如果将Test改动如下:
public class Test{
public static void maint(String[] args){
Point1 p=new Point1();
p.setVar(“江山美人");
System.out.println(p.getVar() * 2);
}
}
程序编写正常,不会报错,但到了运行才提示异常。而如果上面是应用泛型,在写下System.out.println(p.getVar() * 2);直接就会在写程序时提示错误! |
|