日期:2014-05-20  浏览次数:20683 次

public类型的变量有什么坏处.??
大家好, 我的一个类中的代码太多了, 感觉有点乱, 我就想分分类, 就建立了多个Class文件, 但这些多个Class中有一些变量是公共的, 比如mCurrentState这样的变量, 需要在多个Class中被访问. 


我的办法是 在主类中建立一个public 类型的变量, 其他的几个Class使用这样的形式访问:
mMainActivity.mCurrentState=MyState.start;
...........
if(mMainActivity.mCurrentState==MyState.start){
........
}

请问下这样的语句有什么问题吗, 定义这样的public 类型的变量有什么坏处, 谢谢!!



------解决方案--------------------
看要求,如果是简单的属性,对属性的设置都是直接赋值,不需要检查例如参数的合法性,直接public就好了,省事,懒得写那么多setter, getter。
个人觉得没必要所有的属性都写个setter, getter。
不过话说回来,实际项目中 Java Bean 的属性都会设置成private, 然后写setter, getter,按规范写,因为都不用自己手写代码,IDE 直接生成了,何乐而不为,也免得让人说不专业对吧。