A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 十字路口 中级黑马   /  2013-6-12 15:03  /  1242 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 十字路口 于 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();实例化。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
因为你的main方法和构造方法在同一个类中啊,所以可以用SingleDemo singleDemo = new SingleDemo();构造实例。
你把main方法放在不同的类中看看,还能编译通过吗,只能通过getInstance()方法来返回那个在类中创建的实例。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
在一个类的内部是可以调用被private修饰的方法、属性、构造方法的,你要再另外的类去调用就不可以了!

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
谢谢大家,想明白了。我想我是脑子短路了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马