一、什么是构造方法
类中的方法分为普通方法与构造方法。
普通方法是在实例化对象后使用的。构造方法是在实例化对象的时候使用的,主要功能是完成对象的属性初始化功能。
构造方法又被称为构造函数、构造器、Constructor。
二、构造方法的语法结构
(修饰符列表) 构造方法名(形式参数列表){
方法体;
}
注意:
1、构造方法不允许有返回值类型声明,若指定了返回值类型,那么此方法就成为普通方法了。
2、构造方法的方法名必须和类名保持一致
3、当一个类中没有任何构造方法的时候,系统会默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器。
4、当一个类显示的将构造方法定义出来了,那么系统不再默认为这个类提供缺省构造器,此时需要手动的为当前类提供无参数构造方法。
没有定义构造方法时,系统默认提供一个无参数的构造方法:
class User {
int age;
String name;
}
public class UserTest{
public static void main(String[]args){
User u = new User();
System.out.println("姓名:"+u.name +"\t年龄:"+u.age);
}
}
运行结果:
三、构造方法的调用
构造方法的调用必须结合new关键字的使用,在普通方法中若想调用构造方法,可在带参构造方法中直接使用this()调用。
四、构造方法支持方法重载
重载可以在实例化对象的同时为对象的属性赋值。
重载构造方法最好按照参数由少到多规范排列。
五、代码示例:
class User{
int age;
String name;
public User(){
System.out.println("这是无参构造方法")
}
public User(int age){
this.age = age;
System.out.println("年龄:"+age);
}
public User(int age,String name){
this.age = age;
this.name = name;
System.out.println("姓名"+name+"\t年龄"+age);
}
public class UserTest{
public static void main(String[]args){
User u = new User();
User u1 = new User(18);
User u2 =new User(18,"小明");
System.out.println();
System.out.println("姓名"+u.name+"\t年龄"+u.age);
System.out.println("姓名"+u1.name+"\t年龄"+u1.age);
System.out.println("姓名"+u2.name+"\t年龄"+u2.age);
}
}
运行结果