1 我定义为protected
2 需要有setter和getter
3 嘻嘻
2 需要有setter和getter
3 嘻嘻
解决方案 »
- Robot mouseMove 在Win7下无效,为什么?
- java修饰符的用法,求助
- 再问:为什么使用Class.forName().newInstance创建对象?
- UDP怎么实现双方通讯
- 9月8号马士兵老师领衔主讲java就业基础班
- applet 解析html 问题
- 急,请教一个j++6.0的问题,高分相送!
- 我的Jb7运行下面一段小小代码,结果惊人!!
- String 的compareTo和equals方法有什么区别?
- 请问谁有有关jbuilder 6比较好一些的中文电子书籍,只要可下载就给分!!
- ***散分求助--如何是jTable的某一列数据隐藏invisible,但是在数据还可以取出来?
- 求助!关于PopupMenuListener接口类小问题。在线等,搞定马上送分!
定义为protected或者不定义修饰符,可以只提供给这个package内的其他内使用
而package外的类无法访问这个field
有人有更有创意的想法吗?
也就是说,private更多的是对于只读field有效,而对于可读写的field,
这只是为了保持风格的统一。不会造成混乱。那么好了,我提出第二个问题:
类似数组类型,都有一个length的field,为何这个length是public的呢?
jdk又是通过什么手段保证它的只读性?嗯……这个问题好像简单了点
有个setter和getter就没错
不因为别的,就因为习惯嘻嘻
太奇怪了噢 等下,Float.NaN好像也是public的,可是也不能修改噢 再等下 看看这个:
public class Strange {
final public int neverChange;
public Strange(int i) {
neverChange = i;
}
}好像neverChange也不会变?再等等。。想起来有个叫什么singlton的冬冬?
里面是不是也有个类似的情况?
public class Single {
public static final Single instance = new Single();
private Single() {}
}
我们对数组作循环的时候
不是经常写for(int i=0;i<xxxArray().length;i++)
这样的句子么。
这个length就是只读的public属性。怎样保证只读的属性呢,其实也简单,final关键字就可以了。
对于这种需要在初始化时候就确定值的变量,而在以后的生存期内都不
改变大小的变量,我们完全可以定义为public,反正——你看不到吃不到哦