如果类的构造函数私有化,再实例化时,通过静态成员函数来调用构造函数。

原创 2015年07月08日 16:35:48

静态私有成员在类外不能被访问,可通过类的静态成员函数来访问;

当类的构造函数是私有的时,不像普通类那样实例化自己,只能通过静态成员函数来调用构造函数。

对象之间通过类的静态成员变量来实现数据的共享的。静态成员变量占有自己独立的空间不为某个对象所私有。


实例:::

class A
{
private:
   A(){  }
   ~A(){ }
 
public:
   void Instance()//类A的内部的一个函数
   {
       A a;
   }
};
该类以外调用的话,必须申明为静态成员函数,才能调用:

class Single
{
private: Single();
       ~Single();
static Single* gPsg;
public:
       static  Single* GetSingle()
       {
              if(!gPsg)
                      gPsg = new Single();
              return gPsg;
       };
};
 
Single* Single::gPsg = null;
 
void sFun()
{
 Single::GetSingle()->....这样就可以调用了;
};





版权声明:本文为博主原创文章,同意转载。

JAVA单例模式:就是把构造方法弄成私有的

一.问题引入   偶然想想到的如果把Java的构造方法弄成private,那里面的成员属性是不是只有通过static来访问呢;如果构造方法是private的话,那么有什么好处呢;如果构造方法是pri...
  • LoveStudy_girl
  • LoveStudy_girl
  • 2016年06月22日 17:15
  • 4080

java 中类初始化,构造方法,静态成员变量,静态块的加载顺序

1、编译和运行概念要搞清:编译即javac的过程,负责将.java文件compile成.class文件,主要是类型、格式检查与编译成字节码文件,而加载是指java *的过程,将.class文件加载到内...
  • a1028253086
  • a1028253086
  • 2017年03月02日 22:34
  • 1762

Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序

序言   关于类的static成员变量初始化、static初始化块、实例的普通成员变量初始化、实例的普通初始化块以及构造函数的执行顺序,我一直不是十分明确地知道,今天专门花了几个小时的时间参考网...
  • z69183787
  • z69183787
  • 2014年05月09日 09:29
  • 8433

复制构造函数引用this指针静态成员

  • 2012年04月30日 17:48
  • 573KB
  • 下载

数组--->工具类的构造函数需私有化,成员方法为静态

class ArrayTool { private ArrayTool() { } public static int getMax(int[] arr) { int m...
  • troylee1986
  • troylee1986
  • 2011年10月05日 23:14
  • 581

java 父类子类静态成员,实例成员,构造函数初始化的顺序

java中的成员分为:  静态成员 : 静态成员变量,静态代码块,静态成员方法  实例成员:实例成员变量,实例代码块,实例成员方法  构造方法  析构方法  下面做的实验,主要是验证 当ne...
  • zlc1094512300
  • zlc1094512300
  • 2013年07月26日 16:15
  • 1179

java 父类子类静态成员,实例成员,构造函数初始化的顺序

java中的成员分为:  静态成员 : 静态成员变量,静态代码块,静态成员方法  实例成员:实例成员变量,实例代码块,实例成员方法  构造方法  析构方法  下面做的实验,主要是验证 当ne...
  • syy0377
  • syy0377
  • 2013年09月23日 15:51
  • 702

为什么内联函数,构造函数,静态成员函数不能为virtual函数

为什么内联函数,构造函数,静态成员函数不能为virtual函数? 1> 内联函数 内联函数是在编译时期展开,而虚函数的特性是运行时才动态联编,所以两者矛盾,不能定义内联函数为虚函数。 ...
  • qianggezhishen
  • qianggezhishen
  • 2015年06月04日 13:31
  • 616

构造函数,析构函数,虚函数,内联函数,静态成员函数,重载,覆盖,隐藏

C++语言特性:构造函数,析构函数,虚函数,内联函数,静态成员函数,重载,覆盖,隐藏 来自:CSDN博客推荐文章   |  时间:2012-07-22 14:19:01 原文链接: h...
  • jfkidear
  • jfkidear
  • 2012年08月20日 18:32
  • 951

二十五、继承(二) 不能自动继承的成员函数、继承与构造函数、友元关系与继承、静态成员与继承

一、不能自动继承的成员函数           有三种函数不能被继承,构造函数,析构函数和=运算符,基类的构造函数和析构函数只负责对基类数据成员的初始化和清理,因为基类并不知道派生类有哪些数据成员。=...
  • tianttt
  • tianttt
  • 2015年01月13日 21:23
  • 506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如果类的构造函数私有化,再实例化时,通过静态成员函数来调用构造函数。
举报原因:
原因补充:

(最多只允许输入30个字)