java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

当新对象被创建的时候,会调用构造函数。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,java编译器会为这个类创建一个默认的构造函数。

  java中构造函数的重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数都必须有他唯一的参数列表。

  java不支持像C++中那样的复制构造函数,这个不同点是因为如果你不是自己写的构造函数的情况下,java不会创建默认的复制构造函数。

时间: 2024-10-02 23:56:54

java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?的相关文章

Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

方法覆盖也称为重写,重写即子类重新定义了父类的方法. 重写: 1.重写的方法必须与原方法有相同的方法名.参数列表和返回值类型(Java SE5之后返回值类型可以是其类型的子类型) 2.被重写的方法不能是final类型,因为final类型无法重写 3.被重写的方法不能是private,因为private无法继承,而继承是重写的前提 4.被重写的方法不能为static, 如果父类中的方法为静态,而子类的方法不是静态的,但是两个方法除了这一点其他都满足重写条件,那么会发生编译错误,         

java中c#中statc 静态调用不同之处、c#的静态构造函数和java中的构造代码块、静态代码块

1.java和c#静态成员调用的不同之处 static 表示静态的,也就是共享资源,它是在类加载的时候就创建了 java中   可以通过实例来调用,也可以通过类名.成员名来调用,但是一般最好使用类名.成员这个方式,因为静态成员是属于类的,并不是属于具体的对象 c#中     只能通过类名.成员调用,并不能 用实例来进行调用 2.c#的静态构造函数和java中的构造代码块.静态代码块 c# 静态构造函数的特点:        1)静态构造函数不需要手动调用,系统自动调用        2)静态构造

C++中复制构造函数被调用的三种情况

C++中的构造函数 c++中的构造函数分为构造函数,和复制构造函数,相比于构造函数,复制构造函数使用更加方便,快捷.构造函数可以有多个,二复制构造函数只能有一个,因为复制构造函数的参数只能是当前类的一个对象,参数表是固定的,无法重载,若用户没有定义自己的辅助构造函数,系统会自动生成一个复制构造函数,其作用是将参数的之赋予当前的对象.若用户自己定义了复制构造函数,系统则不会生成默认复制构造函数.用户自己定义的复制构造函数功能可以自己构造,不一定执行复制的功能. 复制构造函数同构造函数的功能大体相同

Java中如何克隆集合——ArrayList和HashSet深拷贝

编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味着存储在原始List和克隆List中的对象是相同的,指向Java堆内存中相同的位置.增加了这个误解的原因之一是对于不可变对象集合的浅克隆.由于不可变性,即使两个集合指向相同的对象是可以的.字符串池包含的字符串就是这种情况,更改一个不会影响到另一个.使用ArrayList的拷贝构造函数创建雇员List

C++复制构造函数和赋值符的区别

From  http://blog.csdn.net/randyjiawenjie/article/details/6666937 感谢原作者分享. class CTest{public: CTest(); //构造函数 CTest(const CTest &); //复制构造函数 CTest & operator = (const CTest &); //赋值符}; CTest::CTest(){ cout<<"Constructor of CTest&qu

C++ Primer 学习笔记_54_类与数据抽象 --复制构造函数、赋值操作符

复制控制 --复制构造函数.赋值操作符 引言: 当定义一个新类型时,需要显式或隐式地指定复制.赋值和撤销该类型的对象时会发生什么– 复制构造函数.赋值操作符和析构函数的作用!      复制构造函数:具有单个形参,该形参(常用const修饰)是对该类类型的引用.当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式的使用复制构造函数:当将该类型的对象传递给函数或者从函数返回该类型的对象时,将隐式使用复制构造函数.     析构函数:作为构造函数的互补,当对象超出作用域或动态分配的对象被删除

复制构造函数(拷贝构造函数)

也许很多C++的初学者都知道什么是构造函数,但是对复制构造函数(copy constructor)却还很陌生.对于我来说,在写代码的时候能用得上复制构造函数的机会并不多,不过这并不说明复制构造函数没什么用,其实复制构造函数能解决一些我们常常会忽略的问题. 为了说明复制构造函数作用,我先说说我们在编程时会遇到的一些问题.对于C++中的函数,我们应该很熟悉了,因为平常经常使用:对于类的对象,我们也很熟悉,因为我们也经常写各种各样的类,使用各种各样的对象:对于指针的操作,我们也不陌生吧?嗯,如果你还不

复制构造函数的用法及出现迷途指针问题

复制构造函数利用下面这行语句来复制一个对象:   A (A &a) 从上面这句话可以看出,所有的复制构造函数均只有一个参数,及对同一个类的对象的引用 比如说我们有一个类A,定义如下: ? 1 2 3 4 5 6 7 8 9 10 class A { public: A(int i,int j){n=i;m=j;} //构造函数带两个参数,并将参数的值分别赋给两个私有成员 A(A &t); //我们自己定义一个默认构造函数 void print(){cout<<n<<

c++ 复制控制之复制构造函数

什么是复制构造函数? 只有单个形参, 而且该形参是对本类类型对象的引用( 常用const修饰), 这样的构造函数称为复制构造函数. 什么时候使用复制构造函数? 1. 根据另一个同类型的对象显示或隐式初始化一个对象. 2. 复制一个对象, 将它作为实参传给一个函数. 3. 从函数返回时复制一个对象. 4.初始化顺序容器中的元素. 5.根据元素初始化列表初始化数组元素.  1)对象的定义形式      c++支持两种初始化形式:  直接初始化和复制初始化. 复制初始化使用=符号, 而直接初始化将初始

C++构造函数详解(复制构造函数)

转载自:http://www.cnblogs.com/raichen/p/4752025.html 更多内容详见:http://blog.csdn.net/lwbeyond/article/details/6202256 构造函数是干什么的 该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员. 构造函数的种类 1 class Complex 2 { 3 4 private : 5 double m_real;