封装是OOP的特征之一,最小化类和成员的可访问性可提高封装度
JAVA的可访问性修饰符包括:
private: 仅能本类访问
package-private:默认(default)可访问范围,同一包类可访问
protected: 同一包类和子类可访问
public: 任何类都可访问
注:顶级(top-level)类或接口只能声明为public或package-private
基本原则:
1.如果一个顶级类仅被同一个包里的类访问,应使用package-private
2.如果一个顶级类仅被一个类访问,应声明为内部类
3.永远不要使用public修饰实例属性,如以下声明,尽管已经使用static final修饰addresses属性,但是仍然不能避免其他类修改strs数组所包含的内容,并且strs非线程安全
//never do this public static final String[] addresses=new String[]{};
可以提供getter方法返回只读属性值
public static List<String> getReadOnlyAddress(){ return Collections.unmodifiableList(Arrays.asList(addresses)); } public static String[] getReadOnlyAddresses(){ return addresses.clone(); }
4.为了测试,可将private属性声明为package-private
相关推荐
易语言4.13个人制作
易语言4.13完美破解版
RegexBuddy 4.13 正则表达式专业工具,简单方便好用。
Virtual Audio Cable 4.13版。
EmEdit Professional V4.13 附注册码
从盒子上下载下来的fastreport最新版4.13的源代码 请支持下。
rpm4.13.0.4最新版下载,更新时间: rpm.rte.4.13.0.4 01-Sep-2018 05:11 89M
搜狗浏览器4.13正式版,号称上网最快的浏览器搜狗浏览器最新版本
FastReport+4.13.7z
junit最新jar包
易语言4.13 破解版 就16Mb了 易语言4.13 破解版 就16Mb了 易语言4.13 破解版 就16Mb了 易语言4.13 破解版 就16Mb了 易语言4.13 破解版 就16Mb了
压缩包包含了 arcgis api for js v4.13版本的 api 部分,由于上传资源大小限制, sdk 将单独上传
在Windows10上使用VS2017作为编译器,cmake工具编译的InsightToolkit-4.13.2(ITK),包含 头文件和静态库
P2P终结者彻底解决了交换机连接网络环境问题,做到真正只需要在任意一台主机安装即可控制整个网络的P2P流量,对于网络中的主机来说具有很好的控制透明性,从而有效地解决了这一目前令许多网络管理员都极为头痛的问题...
易语言4.13破解版
压缩包包含了 arcgis api for js v4.13版本的 sdk 部分,由于上传资源大小限制, api 将单独上传
python
最新版 SqlDbx 4.13绿色破解版。 1.新开多个编辑窗口; 2.载入已保存SQL文件时可开多个编辑窗口;3.多个结果输出窗口; 4.同时多个数据库连接; 5.解除导出excel200行的限制
BlazeMeter4.13版本
pynaoqi-2.1.4.13.win32.exe