为什么使用封装
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
以下是在Java代码中使用封装的好处:
- 封装使代码更灵活,我们可以轻松的根据新的需求调整代码实现
- 通过
getter
和setter
方法我们可以让类变成只读对象 - 封装有利于单元测试
- 封装让类对存储到其中的数据具有完全的控制权。假设你希望设置员工的年龄(此时年龄应大于18岁),你可以通过年龄的
setter
方法验证数据的合法性
封装与抽象的关系
- 抽象描绘一个类可以做什么
- 封装则是实现相应的功能
接下来我们看看Java中最常见的封装应用"单例模式"是如何实现的。
示例代码
public class Singleton {
/** 静态类实例变量 */
private volatile static Singleton instance = null;
/**
* 私有构造函数
*/
private Singleton() {
}
/**
* 返回单例的实例引用
*
* @return 唯一的实例
*/
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
在线练习
{$ activeFileHint $}