单例模式中 private static Singleton instance = new Singleton() 很多不用final修饰,
答案:3 悬赏:40 手机版
解决时间 2021-11-30 01:28
- 提问者网友:星軌
- 2021-11-29 22:10
单例模式中 private static Singleton instance = new Singleton() 很多不用final修饰,
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-11-29 22:42
你首先要明白final修饰变量的功能是,一次初始化不能再被修改,既然是私有变量,就只考虑内部对这个变量的处理了,如果需要修改就不加final
而在单例模式中,如果存在释放资源的情况下,就不能加final修饰了,比如针对你贴的这个单例,如果提供方法
public void releaseInstance(){
if(instance != null){
instance = null;
}
}释放资源之后,如果需要重新使用这个单例,就必须存在重新初始化的过程,所以不能加final,对于不需要释放资源的情况,可以加final
总而言之,要不要加final修饰,可以根据情况而定
而在单例模式中,如果存在释放资源的情况下,就不能加final修饰了,比如针对你贴的这个单例,如果提供方法
public void releaseInstance(){
if(instance != null){
instance = null;
}
}释放资源之后,如果需要重新使用这个单例,就必须存在重新初始化的过程,所以不能加final,对于不需要释放资源的情况,可以加final
总而言之,要不要加final修饰,可以根据情况而定
全部回答
- 1楼网友:洒脱疯子
- 2021-11-29 23:54
如果你用final修饰后,别人就不能修改你的代码了,就算继承也不可以修改,健壮性很高。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯