java中什么是构造函数

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java中类的构造函数到底有什么用

如题,例如一段代码

class point2{

int x,y;

point2(int a,int b){//构造函数;含参的构造函数;构造方法必须要和类名一致

//且没有返回值

x=a;

y=b;

}

void output(){

System.out.println(x);

System.out.println(y);

}

public static void main(String args[]){//类的实例

point2 pt;

pt=new point2(3,3);//声明实例变量;传递参数给构造函数的变量

pt.output();//实际上调用了类中的构造函数;

}

}

那么我不用构造函数,只声明成员变量是否可以直接代替构造函数,请详细解释构造函数的作用

满意回答

什么是构造函数,问的好。

开始的时候我也不理解为什么要构造函数。因为那时候的设计思想还停留在面向过程编程。即我要干什么事,这件事有几个步骤,然后我决定怎么干。

面向对象不是这么直接简单,它的设计思想就是要代码重用。即我以前干过类似的事,那么我找出以前可以用到的代码,完成一部分。以前没有的我重新写。这样就有了类。

回到你提的问题。有了类,就是有了可以重用的代码,但是我怎么产生这个对象呢。必须要实例化这个类(当然这不是唯一产生对象的途径,比如单例模式,但本质上说所有途径都是一样的)。那么就要用到构造函数。即告诉程序我现在要实例化一个对象了,你给我马上分配内存。将内存的首地址赋给我指定的类对象。而且有时候你需要传递参数到函数里面,有了构造函数就方便了,构造函数

可以有无数个。当然,传递参数到到对象里面也可以其它方法,比如直接赋一个值给成员变量,举例:

class point2{

int x,y;

point2(){

}

point2(int a,int b){//构造函数;含参的构造函数;构造方法必须要和类名一致

//且没有返回值

x=a;

y=b;

}

void output(){

System.out.println(x);

System.out.println(y);

}

public static void main(String args[]){

point2 pt=new point2();//实例化对象,这时候x,y没有赋值,默认初始值为0;

pt.output();

pt.x=3;pt.y=3;

pt.output();

}

}

=============================================================================== ===============================================================================

Java中什么叫构造函数.?

满意回答

每创建一个类的实例都去初始化它的所有变量是乏味的。如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor)。

一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,创建对象时就会自动调用它。构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。

构造方法是一种特殊的方法,具有以下特点。

(1)构造方法的方法名必须与类名相同。

(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。

(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。

(4)构造方法不能由编程人员调用,而要系统调用。

(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。

(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

相关文档
最新文档