本帖最后由 夏添 于 2013-3-7 02:34 编辑
请朋友们看下面的饿汉式单例的代码,其中final的作用是什么呢?
class Student
{
private Student(){}
private static final Student s = new Student();//就是这行中的final,请问这个有必要加么?
public static Student getInstance()
{
return s;
}
}
既然已经私有了构造函数和对象,已经达到保证唯一性的目的了,为什么要加个final呢?
为说明问题,我再重复下单例设计模式的特点:
**为了避免其他程序建立该类对象,先禁止其他程序建立该类对象,即将构造函数私有化
**为了其他程序访问到该类对象,须在本类中创建一个该类私有对象
**为了方便其他程序访问到该类对象,可对外提供一个公共访问方式
|