关于最后c1.newInstance的疑问

来源:1-1 Class类的使用

氧化的灵魂

2017-04-10 14:47

最后如果用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);


写回答 关注

1回答

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

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

    氧化的灵魂

    谢谢。。

    2017-04-10 15:23:56

    共 2 条回复 >

反射——Java高级开发必须懂的

反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础

151467 学习 · 335 问题

查看课程

相似问题