A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© niushicha 中级黑马   /  2014-8-8 18:29  /  1193 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分析:使用泛型强制类型为某类型,比如上面为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);直接就会在写程序时提示错误!

1 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马