----------------------android培训、java培训、期待与您交流! ----------------------
对变量的作用范围我想大家都不陌生吧,只要学过编程的人都能分得清楚全局变量、局部变量作用范围的不同
但有这样一个例子:
这个是我在学习反射课程是遇到的一点问题,就是在下面
------------------- --
android培训、
java培训、期待与您交流! ------------------
但有这样一个例子:
public static void main(String[] args)
{
Constructor[] con=null;
try {
int[] i = new int[2];
con=Class.forName("java.lang.String").getConstructors();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(con.length);
}
这个是我在学习反射课程是遇到的一点问题,就是在下面
System.out.println(con.length);//报错无法访问con.length 因为当时学反射的时候有点迷糊,所以一直再考虑是不是 反射上出什么问题了,难道反射得出来的con对象不是数组,
百思不得其解,就去黑马论坛发帖求助,黑马真的好有爱,马上就有高人点中要害
问题的原因就是 变量的作用范围
因为 con=Class.forName("java.lang.String").getConstructors();
在try{}块里面,变量的作用范围是在它所在的那个大括号里面的,我在try外面访问con当然无法访问
本文通过一个具体的Java代码示例解释了反射机制下构造器数组的获取,并深入探讨了try块内声明变量的作用范围限制及其对后续代码的影响。
2224

被折叠的 条评论
为什么被折叠?



