一种只用来初始化对象信息的特殊方法,即为对象成员变量赋初始值。
构造方法的作用只是进行对象属性的初始化,只能通过new调用。
在创建对象时被自动调用(创建对象时,如果其类有构造器,Java就会在用户有能力操作对象之前自动调用相应得构造器,从而保证了初始化的进行)。
通过构造器,类的设计者可以确保每个对象都会得到初始化。
不接受任何参数的构造器叫做默认构造器(无参构造器。)
如果没有自定义构造器,编译器会自动为你添加一个默认构造器。
如果存在自定义构造器,编译器都不会再为你提供任何构造器。
java中构造方法的使用有两个地方,一个是跟在关键字new后面,类名加上一个小括号(),小括号内根据实际加上实参,另外一个是跟在关键字super或this后加上一个小括号(),小括号内根据实际添加实参。
例1:Demo demo = new Demo();
这里是调用的是一个无参的构造方法,必须声明在方法中,最好声明在主方法 上面构造方法的参数根据实际添加实参,jvm根据构造方法的参数不同加载不同的构造方法;
例2:public Demo(){
this(2); //这里调用参数为int类型的本类的构造方法
}
例3:public Demo(){
super(1); //调用参数为int类型的父类的构造方法
}
例2和例3中this或super调用构造方法只能出现在构造方法中,而且必须出现在第一行。
所以一个构造方法中第一行只能为this或super调用构造方法,两者不能同时调用构造方法出现,而且注意this或super调用构造方法时,要留构造方法出口,意思就是最后调用的构造方法中没有再调用别的构造方法!