构造方法

方法名和类名完全一致;

不能有返回值;

没有显式构造方法时,编译器会提供一个默认的无参构造方法,其访问控制修饰符与类一致;

如果提供了显式的构造方法,就没有默认的构造方法;

构造方法由new或其他构造方法调用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class User {
int age;
String name;

public User(){
System.out.println("这是User的无参构造方法");
}

public User(int age,String name){
this.age = age;
this.name = name;
System.out.println("这是User的无参构造方法");
}

public static void main(String[] args) {
//调用的User类的无参构造方法
User user = new User();
user.age = 47;
user.name = "Pony";
System.out.println("年龄:"+user.age+",名字:"+user.name);
//调用的User类的无参构造方法
User user2 = new User(54,"Jack");
System.out.println("年龄:"+user2.age+",名字:"+user2.name);
}
}

运行结果

1
2
3
4
这是User的无参构造方法 
年龄:47,名字:Pony
这是User的无参构造方法
年龄:54,名字:Jack