1 package day7.gouzao;
2
3 /*
4 5 构造方法
5
6 格式:
7 public class 类名{
8 修饰符 类名( 参数 ) {
9 }
10 }
11 功能:主要是完成对象数据的初始化
12
13 构造方法的创建
14 如果没有定义构造方法,系统将给出一个默认的无参数构造方法
15 如果定义了构造方法,系统将不再提供默认的无参构造方法
16 构造方法的重载
17 如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法
18 推荐的使用方式
19 无论是否使用,都手工书写无参数构造方法
20 重要功能
21 可以使用带参构造,为成员变量进行初始化
22 */
23
24 public class Student {
25 private String name;
26 private int age;
27
28 //不同的构造方法实质为方法重载
29
30 public Student(){
31 System.out.println("无参构造");
32 }
33
34 public Student(String _name, int _age){
35 System.out.println("有参构造1");
36 this.name = _name;
37 this.age = _age;
38 }
39
40 public Student(String _name){
41 System.out.println("有参构造2");
42 this.name = _name;
43 }
44
45 public Student(int _age){
46 System.out.println("有参构造3");
47 this.age = _age;
48 }
49
50 public void show(){
51 System.out.println(name + "," + age);
52 }
53 }
1 package day7.gouzao;
2
3 public class StudentDemo {
4 public static void main(String[] args) {
5 Student s = new Student(); //自定义无参构造方法
6 s.show();
7
8 Student s2 = new Student("tom", 20); //自定义有参构造方法
9 s2.show();
10
11 Student s3 = new Student("sam");
12 s3.show();
13
14 Student s4 = new Student(18);
15 s4.show();
16 }
17 }