构造函数是在创建给定类型的对象时执行的类方法,它通常用于初始化数据成员
如果该类中定义了一个私有的构造函数,那么这个类就不能被new
什么是构造函数,问的好。开始的时候我也不理解为什么要构造函数。因为那时候的设计思想还停留在面向过程编程。即我要干什么事,这件事有几个步骤,然后我决定怎么干。
面向对象不是这么直接简单,它的设计思想就是要代码重用。即我以前干过类似的事,那么我找出以前可以用到的代码,完成一部分。以前没有的我重新写。这样就有了类。
回到你提的问题。有了类,就是有了可以重用的代码,但是我怎么产生这个对象呢。必须要实例化这个类(当然这不是唯一产生对象的途径,比如单例模式,但本质上说所有途径都是一样的)。那么就要用到构造函数。即告诉程序我现在要实例化一个对象了,你给我马上分配内存。将内存的首地址赋给我指定的类对象。而且有时候你需要传递参数到函数里面,有了构造函数就方便了,构造函数可以有无数个。当然,传递参数到到对象里面也可以其它方法,比如直接赋一个值给成员变量,举例:
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[]){
point2pt=new point2()//实例化对象,这时候x,y没有赋值,默认初始值为0;
pt.output()
pt.x=3pt.y=3
pt.output()
}
}