- package cn.itcast.test.code;
- class Person {
- private String name;
- private int age;
- private String sex;
- public Person() {
- sex = "male";
- }
- public Person(String name) { //与空参的构造函数形成重载
- this(); //调用类中空参的构造函数也就是Person()
- this.name = name; //将new的时候传入的name变量赋值给成员变量name
- }
- public Person(String name,int age){//与上边的构造函数形成重载
- this.name = name; //将new的时候传入的name变量赋值给成员变量name
- this.age = age; //将new的时候传入的age变量赋值给成员变量age
- }
- public Person(String name, int age, String sex) {
- this.name = name;
- this.age = age;
- this.sex = sex;
- }
-
- /*
- * 程序中如果不重写构造函数那么jvm就会默认的加上空参的构造函数,而当我们重写了构造函数jvm就不会自动添加空参的构造函数
- * 而重写了构造函数在加上空参的构造函数式为了程序的健壮性
- * 如果重写了构造函数而没有空参的时候但我们在主函数中输入Person p = new Person()时程序就会报错
- * 因为在类中找不到空参的构造函数
- */
- }
复制代码 |