问答详情
源自:1-1 Class类的使用

关于最后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 14:47

个回答

  • 飞翔_0022
    2017-04-10 15:04:52
    已采纳

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