请问一下老师

请问一下老师

视频里利用单例模式创建getInstance方法时,和之前JAVA课程-单例模式那节里的女老师讲的不太一样。getInstance方法添加了synchronized,可以把这个修饰符去掉吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你是个非常善于学习思考的好学生,老师为你的两个问题点赞,解答如下:

1、synchronized

Java的单例模式有多种写法,如果不添加synchronized,一般是用在单线程中,在多线程不能正常工作。

2、构造方法

老师视频中之所以添加构造方法,是因为继承了SQLiteOpenHelper这个类,使用该类,子类必须要添加一个构造方法,且构造方法里必须通过super 调用父类的构造方法。

  • 小黄人Airs 提问者 #1
    第一个问题我明白了,谢谢老师!第二个问题里,视频里的老师是采用public修饰符来添加构造方法的,如果我把构造方法的访问修饰符改成private,这样会不会更好一点?
    2019-02-13 10:45:03
  • irista23 回复 提问者 小黄人Airs #2
    可以的o~
    2019-02-13 11:11:14
  • 小黄人Airs 提问者 回复 irista23 #3
    谢谢老师!
    2019-02-13 11:24:55
提问者 小黄人Airs 2019-02-13 09:06:22

还有就是据之前老师在「单例模式」中的讲解,在使用单例模式的时候,无论饿汉式还是懒汉式,为了不能通过使用new 创建更多的实例对象,不是都应该只提供私有的构造方法吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师