为了账号安全,请及时绑定邮箱和手机立即绑定
关注
氧化的灵魂

关于最后c1.newInstance的疑问

最后如果用newInstance可以创建该类的实例,那么如下代码,我这样创建两个对象,为什么他们不能够比较相等,编译提示cannot be resolved to be  a variable,求助,谢谢

try {

Foo foo=(Foo)c1.newInstance();

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

Foo foo2=(Foo)c2.newInstance();

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(foo==foo2);


最佳回答

2017-04-10

你先搞清楚局部变量和全局变量,你foo1和foo2都是在try那个括号里面定义的,所以这个变量只在括号里面起作用,出了括号就没了

飞翔_0022

你把foo1和foo2的定义移到最上面,赋值为null,具体的赋值放到try里面这样就可以了

#1 2017-04-10 回复

氧化的灵魂 (提问者)

谢谢。。

#2 2017-04-10 回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信