----------------------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对象不是数组, 百思不得其解,就去黑马论坛发帖求助,黑马真的好有爱,马上就有高人点中要害 问题的原因就是 变量的作用范围 因为
在try{}块里面,变量的作用范围是在它所在的那个大括号里面的,我在try外面访问con当然无法访问con=Class.forName("java.lang.String").getConstructors();