为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

直接写静态,会打乱系统的封装性,可以写成静态,但是这样不规范。JAVA语言是面向对象语言,所以,应当适应以面向对象思想解决问题,如果写成了单例模式不仅有高大上的感觉,还能很好的解决多线程导致的建造不同对象

保证了对象的唯一性

0 回复 有任何疑惑可以回复我~

和写成静态有什么区别

0 回复 有任何疑惑可以回复我~

单例模式

就是全局只能有一个对象实例

比如

public class Singleton{
private static Singleton singleton = null;
private Singleton(){}
public static Singleton getInstance(){
if(singleton == null){
singleton = new Singleton();
}
return singleton;
}
}

你可以看到,Singleton类的构造函数是私有的,所以你无法在外面new出Singleton对象。只能通过静态方法getInstance获得。这个静态方法会返回内部私有的Singleton对象的实例,并且会检查当前这个实例是否已经创建,创建了就直接返回,没有创建就创建一个返回。这就保证了,Singleton类的对象实例只能有一个。


当然这是最简单的写法,在多线程的情况下是不能正常运行的,需要Synchronized同步

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-仿微信语音聊天
  • 参与学习       43200    人
  • 解答问题       220    个

结合自定义View和API,Dialog管理等实现实现微信语音

进入课程

什么是单例?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信