1、java面试
2016-06-20 11:11
381 查看
1.为什么用单例而不用static
答案:首先你要明白static是在什么时候初始化的,其设计意图是什么,单例就是我们运行的当前虚拟机中有且只有一个需要的对象,不存在重复。static是给类静态成员变量使用的,属于类的属性,一般是一些常量之类的东西,从加载上来说对于类和对象之间,在类加载到内存时候静态成员变量就存在了,而对象还不存在,另外静态方法只能调用静态方法和静态变量,如果全部搞成静态方法,那么意味着其他成员也是静态的,很不方便,如果不用单例,则不容易扩展,且很麻烦。
答案:首先你要明白static是在什么时候初始化的,其设计意图是什么,单例就是我们运行的当前虚拟机中有且只有一个需要的对象,不存在重复。static是给类静态成员变量使用的,属于类的属性,一般是一些常量之类的东西,从加载上来说对于类和对象之间,在类加载到内存时候静态成员变量就存在了,而对象还不存在,另外静态方法只能调用静态方法和静态变量,如果全部搞成静态方法,那么意味着其他成员也是静态的,很不方便,如果不用单例,则不容易扩展,且很麻烦。
相关文章推荐
- 最简洁的PHP程序员学习路线及建议
- 大数据技术Hadoop面试题,看看你能答对多少?(16)
- 多线程面试题(一)
- hadoop面试题,请大家贡献(15)
- hadoop面试题(14)
- 大数据分析面试题(13)
- hadoop面试题整理(二)(13)
- hadoop、大数据面试题(12)
- hadoop、大数据面试题(11) 比较好
- 自己整理的hadoop面试题(10)
- Hadoop 面试题(一),hadoop面试题(9)
- hbase面试题汇总(8)
- HBase基础的几个关键点--大概可能是面试题(7)
- hbase面试题(6)
- Hadoop 之面试题(5)
- Hadoop 面试题 之Hive(4)
- Hadoop 面试题之storm (3)
- Hadoop 面试题之Hbase(2)
- C# 基础·常见面试
- hbase的面试(1)