我把上面的代码改成下面的话,输出结果就变成了:Single@36db4bcf为什么呢?难道不一样吗,区别在哪里呢?
复制代码
- class DemoSingle {
- public static void main (String[] args){
- System.out.println(Single.s);
- }
- }
- //定义Single类
- class Single {
- //私有化构造函数
- private Single(){}
- //创建一个本类对象
- static Single s = new Single();
- }
张洪慊 发表于 2014-1-6 00:19
我猜测你可能是第一段编译运行
然后修改为第二段代码在编译运行
注意启动了两次JVM,那么每次给对象在堆内存 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |