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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© homeless 中级黑马   /  2014-3-3 10:35  /  2598 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果一个类的唯一构造器被private修饰,那么这个类就不能被继承了,对吧??????

评分

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

查看全部评分

8 个回复

倒序浏览
是的。 父类的私有成员,子类是无法访问的;在创建子类的时候,是要先调用父类的构造函数的。所以不能继承。

评分

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

查看全部评分

回复 使用道具 举报
是的,其他类无法继承此类。一个类的构造方法被private修饰,那么在其他类中无法实例化此类。可以在该类中写个获取实例的静态方法,在其他类中直接用类名.方法名创建实例,在单例模式中要用到。

评分

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

查看全部评分

回复 使用道具 举报
这样可以实现单例设计吧
回复 使用道具 举报
谢谢各位
回复 使用道具 举报
是的,我们知道子类要继承父类的话,必须要调用一个父类中的构造方法,而父类中只有一个构造方法,而这个构造方法却被private给修饰了,子类是不能继承父类的私有方法的

评分

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

查看全部评分

回复 使用道具 举报
一个类在实例化时,在构造函数的第一行会默认调用父类的空构造函数,如果唯一的构造函数对子类不可见,那就没办法继承了
回复 使用道具 举报
深入一点讲,其是就是单例模式了
  1. class Singleton{
  2.         //在本类内部,产生的实例化对象,并封装属性Singelton(单例,来自谷歌翻译)
  3.         private static Singleton instance = new Singleton();
  4.         private Singleton(){//私有化构造方法,进行封装
  5.                 }
  6.         public static Singleton getInstance(){//通过类方法,直接取得Singleton实例
  7.                 return instance;
  8.         }
  9.         public void say(){//打印信息
  10.                 System.out.println("hello centian2005");
  11.         }
  12. }
  13. public class SingletonDemo {

  14.         public static void main(String[] args) {
  15.         Singleton s1 = Singleton.getInstance();
  16.         Singleton s2 = Singleton.getInstance();
  17.         Singleton s3 = Singleton.getInstance();
  18.         //三个输出的信息,都是hello centian2005
  19.     s1.say();
  20.     s2.say();
  21.     s3.say();
  22.         }

  23. }
复制代码

虽然声明了3个对象,但是实际上所有的对象都只使用instance引用,不管外面如何使用,最终结果也只有一个实例化对象。(其实就是单例设计模式)
使用Singleton(单例设计模式)的好处
  1、控制资源的使用,通过线程同步来控制资源的并发访问;
  2、控制实例产生的数量,达到节约资源的目的。
  3、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。(这个不是很懂-0-)
:victory:楼主请笑纳

评分

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

查看全部评分

回复 使用道具 举报
centian2005 发表于 2014-3-3 14:43
深入一点讲,其是就是单例模式了

虽然声明了3个对象,但是实际上所有的对象都只使用instance引用,不管外 ...

层主这是饿汉式哇
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马