java方法中变量的定义为什么不能用访问权限修饰词
你要弄清楚变量和属性的区别。
变量是方法体中定义的。
属性是类体中定义的。
而权限标示符只用于修饰属性和方法。不修饰变量,因为变量属于方法体私有。
举个栗子:
你有一辆轿车,你可以给你的轿车加以权限,只能你自己用,还是可以给你老婆用,或者给所有人用——你本人就是一个类,这个车就是你的一个属性,表面你是个有车的人。
既然你有了车了,那么,你肯定也有一个方法叫开车,你可以为自己开,也可能为别人开,这就看你给自己的这个方法怎么加权限了。
如果是Static,那就是出租车,任何人都能叫你开车
如果是Public,你人比较好,可以为朋友开车
如果是Protect,那纯粹私家车,给自己或家人开
如果是Private,就只给自己开了
但是至于你开车方法里面会用到什么,比如说:导航,乘客不知道,朋友不知道,家人不知道,他们只关心你能把他们送到目的地,不需要知道你怎么开的,等到开车结束,导航也随即结束,失效。
变量是方法体中定义的。
属性是类体中定义的。
而权限标示符只用于修饰属性和方法。不修饰变量,因为变量属于方法体私有。
举个栗子:
你有一辆轿车,你可以给你的轿车加以权限,只能你自己用,还是可以给你老婆用,或者给所有人用——你本人就是一个类,这个车就是你的一个属性,表面你是个有车的人。
既然你有了车了,那么,你肯定也有一个方法叫开车,你可以为自己开,也可能为别人开,这就看你给自己的这个方法怎么加权限了。
如果是Static,那就是出租车,任何人都能叫你开车
如果是Public,你人比较好,可以为朋友开车
如果是Protect,那纯粹私家车,给自己或家人开
如果是Private,就只给自己开了
但是至于你开车方法里面会用到什么,比如说:导航,乘客不知道,朋友不知道,家人不知道,他们只关心你能把他们送到目的地,不需要知道你怎么开的,等到开车结束,导航也随即结束,失效。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-11-28
访问控制符是一组限定类,域或方法是否可以被程序里的其他部分访问和调用的修饰符。但是C++中貌似可以用访问权限修饰符来定义变量 至于Java也许是出于某个角度的考虑 才这样定义的吧 不过这个问题讨论起来 好像没有什么特备的实际意义 倒是这些修饰符在类的属性和方法的访问时会起到限定作用
不知道楼主是否得到了答案
不知道楼主是否得到了答案
第2个回答 2009-11-29
因为方法中的变量无论你给它(假设)什么权限,它也只能被方法内部访问。我是渐渐地才明白这种设计的好处,基本上就是方便你管理你的变量,不然很容易混淆。
第3个回答 2009-11-28
没有意义。
局部变量只有调用的时候才存在,调用完成就消失了。
局部变量只有调用的时候才存在,调用完成就消失了。
第4个回答 2009-11-28
语法就这样。