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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-11-3 16:30  /  1722 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周斌 于 2012-11-7 12:03 编辑

public class TestSingle
{
    private static final TestSingle oonlyOne = new TestSingle();
    public static TestSingle getTestSingle()
    {
     return onlyOne;
    }
    private TestSingle(){}
}


对于上面的程序,在外面为什么只能调用TestSingle.getTestSingle()方法获得TestSingle的对象?


评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

5 个回复

倒序浏览
因为private是私有的意思.
当你不希望外部类直接访问方法或变量时使用
然后再本类通过 set get 方法控制该属性
这样做会使你的程序更加安全
回复 使用道具 举报
因为你只提供了唯一的公有接口来获得这个对象!
回复 使用道具 举报
因为这个类中的方法除了public static TestSingle getTestSingle()外,其他方法均为私有,不能被外部访问,只能通过getTestSingle()来获取,又因为getTestSingle()被static修饰,为静态方法,因此可以通过TestSingle.getTestSingle()的方法来返回一个onlyOne,
回复 使用道具 举报
你可以参考下这篇博客:http://blog.csdn.net/snowjlz/article/details/8127875
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马