`
wfwkiss
  • 浏览: 127137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类的私有构造函数

阅读更多
package corejava;

/**
 * (机能概要描述)
 * 
 * <pre>
 *  [变更履历]
 *  09.07.20.NICKLE NET 初版
 * </pre>
 * 
 * @author NICKLE)王
 */
public class Test {

	private Test(){
		System.out.println("私有构造函数");
	}
	
	public static void main(String[] args) {
		new Test();
	}

}



1。不能被实例化,如果派生类从这个类继承,也不能实例化。

         理解:这里的不能被实例化,并不是说绝对不能实例化,是指,那些没有权利访问类的私有成员的类或者函数,不能实例化这个类,但是如如果这个类有个friend函数,或者类,那么这个函数或者类就有权利去反问private成员,那么就可以生成实例。


2.限制了这个类被试用的条件。只有类的成员函数,或者友元,才可以生成对象。

      另外说明下,如果把了的拷贝构造函数设为protected,或者private的,那么这个对象这值传递的时候,将不能产生临时对象,这个是很重要的。
分享到:
评论

相关推荐

    java私有构造函数

    私有构造函数在Java中是一种非常有用的设计技巧,它不仅可以帮助实现诸如工厂模式或单例模式这样的设计模式,还可以增强类的封装性和代码的可维护性。通过限制构造函数的可见性,开发者可以更好地控制对象的创建过程...

    析构或构造函数声明为保护或私有成员

    在上面的代码中,类 A 的拷贝构造函数和 operator=(赋值操作符重载)被声明为私有成员,以禁止外部用户对对象进行复制动作。 将构造函数和析构函数声明为私有或保护成员是一种常用的设计模式,可以用于实现 ...

    C#私有构造函数使用示例

    私有构造函数(Private Constructor)是一种特殊类型的构造函数,其访问修饰符为`private`,这意味着它只能在定义它的同一个类内部被调用。这限制了外部类或其他对象直接创建该类的实例,从而实现单例模式、静态类...

    解析C#中的私有构造函数和静态构造函数

    3. **静态类的模拟**:当类中所有方法和字段都是静态的,但不能声明为`static`类(因为`static`类不能有实例成员),可以使用私有构造函数来防止实例化。 **静态构造函数** 静态构造函数是不带访问修饰符和参数的...

    学生类的构造函数

    1. 定义一个学生类Student,包括:属性学号,姓名,性别,年龄,方法包括构造方法初始化变量;显示学号方法、显示姓名方法、显示性别方法、显示年龄方法、修改年龄方法。 2. 定义一个测试类StudentTest创建两个学生...

    Java私有构造函数作用原理解析

    Java中的私有构造函数是一种特殊的构造函数,它可以控制类的实例化,实现单例模式和不可实例化类。下面我们将详细介绍Java私有构造函数的作用原理和应用。 一、强调类的单例模式 单例模式是一种常用的设计模式,它...

    类的继承和构造函数

    类的继承以及构造函数,包括私有继承、公有继承的区别,详细的构造函数的使用

    Java反射获取私有构造函数、属性、方法

    Java 反射机制获取私有构造函数的原理是通过获取类的 Constructor 对象,然后调用其 newInstance 方法来创建类的实例。例如,以下代码演示了如何获取私有构造函数: ```java Constructor[] cts = Class.forName(...

    类私有变量的“偷窃”以及 构造函数“私有化”的实验

    1、类中声明的私有变量 都有谁可以访问?...2、构造函数私有化,是为了防止外部类的对象不能实例化。其作用有二:1是对于虚拟类,不需要实例化;2是对于类对象只允许一个实例的情况。 如何实现?试验一下。

    重写重载构造函数

    私有构造函数可以阻止类被实例化。例如: C#复制代码 class NLog { // Private Constructor: private NLog() { } public static double e = System.Math.E; //2.71828... } 结构类型的构造函数与类的构造函数...

    ASP.NET私有构造函数用法分析

    如果类具有一个或多个私有构造函数而没有公共构造函数,则不允许其他类(除了嵌套类)创建该类的实例。 3、私有构造函数的特性也可以用于管理对象的创建。虽然私有构造函数不允许外部方法实例化这个类,但却允许此类...

    包含构造函数和析构函数的C++程序

    构造函数可以被重载,这意味着一个类可以有多个构造函数,但每个构造函数的参数列表必须不同。 在提供的代码示例中,定义了一个名为`Student`的类,其中包含了一个构造函数: ```cpp Student(int n, string nam, ...

    c++ 类的定义 和构造函数

    ### C++ 类的定义与构造函数 #### 一、类的基本定义 在C++中,类是一种用户自定义的数据类型,它将数据(成员变量)和操作这些数据的方法(成员函数)封装在一起。类的定义通常形式如下: ```cpp class ClassName {...

    c++私有构造函数例子

    创建一个class,让其只能创建一个实例对象的例子·

    定义一个名为complex 的复数类,其属性数据为复数的实部和虚部,要求构造函数和拷贝构造函数,并能打印复数的值

    下面我们将深入探讨如何实现这个类,包括构造函数、拷贝构造函数以及复数的打印功能。 首先,我们需要了解复数的基本概念。复数由两部分组成:实部(real part)和虚部(imaginary part),通常表示为`a + bi`的...

    C++规定与类同名的函数就是拷贝构造函数

    当我们谈论“C++规定与类同名的函数就是拷贝构造函数”时,实际上是指一个类中定义的与类名相同且参数为该类类型的函数,这就是拷贝构造函数。 拷贝构造函数是一种特殊的构造函数,用于初始化一个新对象为已有对象...

    C++ 课程作业 类与对象2——构造函数、拷贝构造函数、析构函数(计算两个日期间的天数)

    2、请使用构造函数实现的类的初始化工作,并判断日期和时间的有效性。年月日时分秒应该在正确的范围内。考虑闰年时候二月份的情况。时间的格式是xx:xx:xx,小时不是超过23,分钟和秒不能超过59。 1)如果日期无效...

    C#中私有构造函数的特点和用途实例解析

    在Animal类中声明一个私有构造函数,让Dog类来继承Animal类。 public class Animal { private Animal() { Console.WriteLine("i am animal"); } } public class Dog : Animal { } 运行程序,生成解决...

    C#构造函数的理解

    - **限制实例化**:可以通过将构造函数设置为私有来阻止外部直接创建类的实例,从而实现单例模式等设计模式。 - **调用基类构造函数**:在派生类中,可以通过 `base` 关键字调用基类的构造函数,这有助于维护继承...

Global site tag (gtag.js) - Google Analytics