Java变量的作用域或者说生命周期与变量的访问权限控制有什么关系?比如说,类中声明的变量,其作用域应该是声明变量所在的代码块,但类外部的代码也可以访问该变量,这两者有什么关系?此外,类的成员方法中定义的变量需要进行访问控制吗?我的理解是,方法中定义的变量在方法外部是无法访问的,即使使用public修饰也不行,对吗?

解决方案 »

  1.   

    方法中变量的作用域就是这个方法啊,是不能加java的访问限制符的。至于lz说的,类中定义的变量在外面也能够进行访问,是因为设置的访问限制不一样,private的就不能在类的外部进行访问的,protected只能在同一个包和子类中进行访问,默认的能在包中进行访问,然后public的才能随便访问。
    类成员变量的生命周期:类变量(static修饰的),是整个类的生命周期,基本上是整个程序的运行时间都在,实例变量的生命周期是和实例的生命周期相同的,当不再有这个实例的引用的时候,你也就无法访问其中的实例变量了。