请问一个关于自定义Application的问题
请问一个关于自定义Application的问题
发布时间:2018-02-01 来源:查字典编辑
摘要:我自定义了一个Application,使用单例模式,但是为什么不能够把无参构造私有化呢?回复讨论(解决方案)你不需要把自定义Applicat...

我自定义了一个Application,使用单例模式,但是为什么不能够把无参构造私有化呢?

请问一个关于自定义Application的问题0

回复讨论(解决方案)

你不需要把自定义Application声明为单例模式,它的实例化根本不是你控制的,而是Android底层控制的。楼主思考一个问题就明白了:请问你什么时候用过Application app = new Application()这种东西? 

理解了这个后,就不难明白为什么构造方法不能被声明为私有了,因为它的实例在其他地方被创建(具体是什么地方若有兴趣可以自行查阅资料,深入理解一下Context),你把构造方法私有化之后,其他地方就不能得到它的实例了。

如果你真的想在MyApplication中写一个获取该实例的方法,直接这么写就好了:

请问一个关于自定义Application的问题1 你不需要把自定义Application声明为单例模式,它的实例化根本不是你控制的,而是Android底层控制的。楼主思考一个问题就明白了:请问你什么时候用过Application app = new Application()这种东西? 

理解了这个后,就不难明白为什么构造方法不能被声明为私有了,因为它的实例在其他地方被创建(具体是什么地方若有兴趣可以自行查阅资料,深入理解一下Context),你把构造方法私有化之后,其他地方就不能得到它的实例了。

如果你真的想在MyApplication中写一个获取该实例的方法,直接这么写就好了:

请问一个关于自定义Application的问题2 谢谢,确实对Context缺少研究,还需多花点时间了解了解 SORRY!!!

这行代码应该是

public static MyApplication getApp(){

   return app;

}

应该是静态方法,手残了不好意思!!

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类