黑马程序员技术交流社区

标题: 单例的疑问 [打印本页]

作者: 十字路口    时间: 2013-6-12 15:03
标题: 单例的疑问
本帖最后由 十字路口 于 2013-6-12 17:23 编辑

public class SingleDemo {
private static SingleDemo singleDemo = new SingleDemo();
private SingleDemo() {
}
public static SingleDemo getInstance() {
  return singleDemo;
}
public static void main(String[] args) {
  SingleDemo singleDemo = new SingleDemo();
  System.out.println(singleDemo);
}
}
此处
private SingleDemo() {
}是私有的,为什么能
SingleDemo singleDemo = new SingleDemo();实例化。

作者: 郭天龚    时间: 2013-6-12 15:26
因为你的main方法和构造方法在同一个类中啊,所以可以用SingleDemo singleDemo = new SingleDemo();构造实例。
你把main方法放在不同的类中看看,还能编译通过吗,只能通过getInstance()方法来返回那个在类中创建的实例。
作者: mvplee    时间: 2013-6-12 15:54
在一个类的内部是可以调用被private修饰的方法、属性、构造方法的,你要再另外的类去调用就不可以了!
作者: 十字路口    时间: 2013-6-12 17:23
谢谢大家,想明白了。我想我是脑子短路了。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2