-
方法名与类名相同 方法体没有返回值但是在方法声明的时候却不需要使用void修饰的方法我们称之为构造方法 -
构造方法的作用 用于初始化对象 对象的属性赋值 -
没有参数的构造方法我们称之为无参构造方法 -
代码中没有编写过构造方法 jvm在执行对象初始化的时候帮助程序追加无参构造方法 -
注意当一个类中 既没有无参构造方法也没有有参构造方法的时候jvm会追加一个无参构造方法 -
但是当一个类中 存在有参构造方法没有编写无参构造方法的时候jvm不会追加无参构造方法 -
所以不论在任何情况下一定要自己手写有一个无参构造方法
@Setter
@Getter
public class Person01 {
private String nickname;
private int gender;
private int age;
public Person01(){
System.out.println("我是Person01的无参构造方法");
}
}
public class Person01Test {
@Test
public void test01(){
Person07 person01 = new Person01();
}
}
@Setter
@Getter
public class Person02 {
private String nickname;
private int gender;
private int age;
public Person02(){
System.out.println("我是Person02的无参构造方法");
}
public Person02(String nickname, int gender, int age) {
System.out.println("我是Person02的全参构造方法");
this.nickname = nickname;
this.gender = gender;
this.age = age;
}
}
public class Person02Test {
@Test
public void test01() {
Person02 person02 = new Person02();
person02.setNickname("海王");
person02.setGender(1);
person02.setAge(40);
System.out.println("姓名 >>> " + person02.getNickname());
System.out.println("性别 >>> " + (person02.getGender() == 1 ? "童锦程" : "刘秘书"));
System.out.println("年龄 >>> " + person02.getAge());
}
@Test
public void test02() {
Person02 person02 = new Person02("海王",1,40);
System.out.println("姓名 >>> " + person02.getNickname());
System.out.println("性别 >>> " + (person02.getGender() == 1 ? "童锦程" : "刘秘书"));
System.out.println("年龄 >>> " + person02.getAge());
}
}
|