一、继承中构造方法的访问特点
案例展示:

运行结果:

如果想给成员变量赋值:(通过super调用了父类的有参构造方法)


打印结果:


二、this、super关键字使用总结

关于this关键字的访问构造方法的解释:
在为成员变量赋默认值的时候使用this(...),并且和super一样,必须在第一行,不然会报错

练习1:

标准javabean类的三个要求:
1、类名见名知意
2、所有成员变量都需要私有
3、构造方法(空参,带全部参数)
4、get/set方法
代码:
test类:
public class test {public static void main(String[] args) {manger m = new manger("heima001","张三",5000,9000);System.out.println(m.getId() + ","+ m.getName()+ ","+ m.getSalary() + ","+ m.getAddSalary());m.eat();m.work();cooker c = new cooker("heima002","李四",4000);System.out.println(c.getId() + ","+ c.getName()+ ","+ c.getSalary());c.eat();c.work();}
}
Person类:
public class Person {private String id;private String name;private double salary;public Person() {}public Person(String id, String name, double salary) {this.id = id;this.name = name;this.salary = salary;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public void work(){System.out.println("员工在工作");}public void eat(){System.out.println("员工在吃米饭");}
}
manger类:
public class manger extends Person {private double addSalary;public manger() {}public manger(String id, String name, double salary, double addSalary) {super(id, name, salary);this.addSalary = addSalary;}public double getAddSalary() {return addSalary;}public void setAddSalary(double addSalary) {this.addSalary = addSalary;}@Overridepublic void work(){System.out.println("经理在管理他人");}
}
cooker类:
public class cooker extends Person {public cooker() {}public cooker(String id, String name, double salary) {super(id, name, salary);}@Overridepublic void work(){System.out.println("厨师在炒菜");}}
代码运行结果:

练习2:

