package Lianxi2;
public class Person3 {
//1.私有化成员变量,使用private关键字修饰
private String name;
private int age;
//3.在构造方法中调用set方法进行合理值的判断
public Person3(){
System.out.println(“person3的无参”);
}
public Person3(String name,int age){
setName(name);
setAge(age);
System.out.println(“person3的有参”);
}
//2.提供共有的get set方法并在方法体中进行合理值的判断
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
if(age>0&&age<250) {
this.age = age;
}else{
System.out.println(“年龄不合理”);
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
void show(){
System.out.println(“我是”+getName()+“今年”+getAge()+“岁”);
}
//自定义吃饭的行为
public void eat(String food){
System.out.println(food+“真好吃”);
}
//自定义娱乐的行为
public void game(String game){
System.out.println(game+“真好玩”);
}
}
package Lianxi2;
import Lianxi.Person2;
public class Worker extends Person3 {
private int salary;
public Worker(){
System.out.println(“worker的无参”);
}
public Worker(String name, int age, int salary){
setSalary(salary);
setName(name);
setAge(age);
System.out.println(“worker的有参”);
}
public void setSalary(int salary) {
if (salary>2200){
this.salary = salary;
}else {
System.out.println("薪水不合理");
}
}
public int getSalary() {
return salary;
}
//自定义成员方法描述工作的行为
public void work(){
System.out.println("搬砖");
}
}
package Lianxi2;
public class workerTest {
public static void main(String[] args){
//使用无参构造worker类型对象并打印
Worker w1 = new Worker();
w1.show();
System.out.println("++++++++++++++");
//使用有参方式构造Worker类型的对象并打印特征
Worker w2 = new Worker(“zhangfei”,30,2280);
w2.show();
w2.eat(“xiangjiao”);
w2.game(“wangzhe”);
w2.work();
}
}
但是不会调用有参。
想要调用有参的话:
就要把默认的super写出来,然后加入参数。
推荐在子类里面手动调用有参和无参