`
liu208286
  • 浏览: 17107 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

为什么要有构造函数呢?

    博客分类:
  • Java
阅读更多
今天看书的时候突然脑子里出来一个大问号,总是说构造函数、构造函数的,为什么要有它呢?最早提出它时是为了做什么呢?

去网上搜了一下,得到一些模糊的回答:

1)在类实例化时,构造函数被调用可以进行初始化工作,进行信息的隐藏。

2)在继承父类时,调用父类的方法。

不知道还有其他的什么作用,本人初学者,还望各位指教。

2
2
分享到:
评论
2 楼 抛出异常的爱 2008-02-13  
你应该问为什么object会有 wait这个方法?
所有的方法都可以被异常捕获呢?

这些东西都是在底层的实现
1 楼 JohnnyJian 2008-02-12  
我觉得其中一个原因是初始化的工作可以被强制执行,不会被遗漏

相关推荐

    构造函数不能声明为虚函数的原因及分析

    构造函数本身就是要初始化实例,那使用虚函数也没有实际意义呀。所以构造函数没有必要是虚函数。虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时...

    构造函数和复制构造函数

    构造函数可以有参数,也可以没有参数。如果类中没有显式定义构造函数,那么编译器通常会为我们定义(合成)一个默认的构造函数。 复制构造函数是一种特殊的构造函数,它的主要作用是将一个对象的状态复制到另一个...

    详解C++中构造函数,拷贝构造函数和赋值函数的区别和实现

    C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它...

    没有可用的复制构造函数或复制构造函数声明

    首先,我们需要理解什么是复制构造函数。复制构造函数是一个特殊的构造函数,它在创建新对象时,使用已存在的对象作为参数。它的签名通常是`ClassName(const ClassName &other)`,其中`ClassName`是类的名称。复制...

    为什么构造函数不能是虚函数

    ### 为什么构造函数不能是虚函数 #### 一、引言 在面向对象编程中,构造函数和虚函数是两个非常重要的概念。构造函数用于初始化对象的状态,而虚函数则支持多态性,允许基类指针或引用调用派生类的方法。这两种机制...

    构造函数不能为虚函数的理由

    这就是为什么构造函数调用是从基类到更加派生类顺序的另一个理由。 但是,当这一系列构造函数调用正发生时,每个构造函数都已经设置 V PTR 指向它自己的 V TABLE。如果函数调用使用虚机制,它将只产生通过它自己的 ...

    构造函数与析构函数

    构造函数是一个与类同名的方法,可以没有参数,有一个参数或多个参数,但是构造函数没有返回值。如果构造函数没有参数,该函数被称为类的默认构造函数。 (1) 一个类可以包含多个构造函数,各个构造函数之间通过...

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

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

    构造函数不能声明为虚函数,析构函数可以声明为虚函数

    ### 构造函数不能声明为虚函数 构造函数在C++中主要用于初始化对象的状态,确保对象在使用前具有有效的初始值。构造函数不能声明为虚函数的原因主要涉及以下几个方面: 1. **对象类型未知**:当创建一个对象时,...

    构造函数和析构函数PPT课件.pptx

    缺省构造函数是指在定义类时没有定义构造函数的情况下,编译器自动产生的一个构造函数,该函数什么事也不做。其形式为:<类名>::<类名>(){}。 拷贝构造函数是一种特殊的构造函数,它的功能是用一个已知的对象来初始...

    没有合适的默认构造函数,默认构造函数怎么写?为什么这样写?没有写赋值构造函数

    没有合适的默认构造函数,默认构造函数怎么写?为什么这样写?没有写赋值构造函数

    C++\测试 对象成员构造函数、基类构造函数、派生类本身的构造函数 的先后顺序.rar

    在C++编程中,对象的构造过程涉及到多个层面,包括对象成员构造函数、基类构造函数以及派生类本身的构造函数。理解它们的执行顺序对于编写健壮的代码至关重要。以下将详细阐述这三个构造函数的调用时机和逻辑。 1. ...

    在派生类的构造函数中调用基类的构造函数

    这个实例可能涉及到一个基类和一个或多个派生类,其中基类有一个或多个构造函数,而派生类需要根据不同的情况调用相应的基类构造函数。通过这样的实例,读者可以深入理解构造函数的调用顺序,以及如何在多级继承和...

    继承类的构造函数

    基类的构造函数是不能继承的,在声明派生类时,派生类并没有把基类的构造函数继承过来,因此,对继承过来的基类成员初始化的工作也要由派生类的构造函数承担。 在设计派生类的构造函数时,不仅要考虑派生类所增加的...

    构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。

    构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类...

    构造函数与默认构造函数

    构造函数与默认构造函数的声明、定义、应用、比较

    构造函数实例(源码)

    接下来是初始化构造函数,也称为带有参数的构造函数。这种构造函数允许你在创建对象时传递参数,以便根据这些参数初始化对象的成员变量。这样可以避免使用全局或静态初始化,并且使代码更具可读性和可维护性。例如:...

    重写重载构造函数

    在C#中,构造函数可以有多个,但它们的方法签名不能相同。 默认构造函数是无参数的构造函数。无论何时,只要使用new运算符实例化对象,并且不为new提供任何参数,就会调用默认构造函数。如果类不是静态的,C#编译器...

    C#构造函数的理解

    - **特点**:有参构造函数提供了更灵活的方式来初始化对象,可以在创建对象的同时为对象的属性赋值。 - **示例**:`Monitor` 类的有参构造函数可以用来初始化对象的属性。 ```csharp public Monitor(string height,...

Global site tag (gtag.js) - Google Analytics