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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class A
  2. {
  3.       public int i;
  4.       private A(int i)
  5.      {
  6.            this.i = i;
  7.            Console.WriteLine("我是A" + this.i);
  8.       }
  9. }
复制代码
如,如果把构造方法弄成私有的,那别的类就不能创建这个类的实例了,那要这个类来干嘛啊,所以把构造方法设置成私有的有什么用,有什么好处啊

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

4 个回复

倒序浏览
这就是单例模式啊 看需求 如果整个应用对于某个类只需要1个实例,或者只能是同一个实例的话,就应该设成单例。
回复 使用道具 举报
有三个作用:1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象;2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象;3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。也可以防止该类中的内容被修改掉啊,提高程序的安全性。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
你这样写代码,是完全没有用的!
  1. class A
  2. {
  3.         public int i;
  4.         public int getI() {
  5.           return i;
  6.         }
  7.         public void setI(int i) {
  8.           this.i = i;
  9.         }
  10.         // 私有的默认构造子,不让new A()对象
  11.         private A() {}
  12.        
  13.         // 已经自行实例化
  14.         private static final A single = new A();
  15.        
  16.         // 静态工厂方法
  17.         public static A getInstance() {
  18.                 return single;
  19.         }
  20. }

  21. A.getInstance().setI(i)// 来赋值
  22. A.getInstance().getI()// 来取值
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
public int i;//这里改为私有的,复制你的忘改了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马