当前位置: 代码迷 >> J2SE >> java中final施用场景的疑问
  详细解决方案

java中final施用场景的疑问

热度:7840   发布时间:2013-02-25 00:00:00.0
java中final应用场景的疑问
对于一般用作声明常量的修饰符:final,应用在单例模式中我有个疑问,代码如下:
Java code
public class Singleton{    private static final singleton=new Singleton();//为什么要用final呢?去掉行不行呢?    private Singleton    {}    public static Singleton newInstance()    {        return singleton    }}



------解决方案--------------------------------------------------------
final 的最大好处是防止意外的发生了这种替换,毕竟软件有一定生命周期,而且不是永远只有你去维护它,就是是你自己,过个2年怕是也不记得当时情景了。
------解决方案--------------------------------------------------------
去掉不是不行,但加是为保险起见
因为newInstance方法返回的是一个Singleton对象
加上final就声明了singleton永远为一个Singleton对象,不能改变
  相关解决方案