代碼解釋下啊
package com.hpe.test1;
//父類----基類
public class Person {
//繼承
protected String name;
private String gender;
private int age;
private String addr;
//默認的午餐的構(gòu)造方法
public Person() {
}
//有參數(shù)的構(gòu)造方法
public Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
//工作
public void work() {
System.out.println("工作……");
}
public void eat() {
System.out.println("吃飯......");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "Person [name=" + name + ", gender=" + gender + ", age=" + age + ", addr=" + addr + "]";
}
}
package com.hpe.test1;
//當類和類之間具有所屬關(guān)系時厘线,用繼承
//子類----派生類
//子類繼承了父類就繼承了父類的屬性和方法
//extends子類對父類進行繼承擴展增強
//子類除了繼承了父類的屬性和方法還擁有自己的屬性和方法
//super表示父類方法
//super表示父類的構(gòu)造方法(含參無參)super
public class Teacher extends Person{
//構(gòu)造方法
public Teacher(String name, String gender, int age,String addr) {
super(name,gender,age);//父類的構(gòu)造方法
this.setAddr(addr);//本類的當前對象
}
//創(chuàng)建有參的構(gòu)造方法,那么無參的構(gòu)造方法會被覆蓋
//如果希望使用無參的構(gòu)造方法需要顯式定義無參構(gòu)造方法
public Teacher() {
}
//生活
public void life() {
//super代表的是父類對象
super.eat();
super.work();
super.eat();
}
//java支持單繼承,一個類只能有一個直接父類有(多個間接父類)验游,一個父類可以有多個子類
//重載:方法之間的關(guān)系平挑,1.返回值類型 方法名相同瞒大,參數(shù)列表個數(shù)不同
//重寫:方法之間的關(guān)系缤至,1.發(fā)生在父類和子類之間2.函數(shù)三要素:返回值類型 方法名 參數(shù)列表 相同短曾,方法體不同
public void work() {
System.out.println("上課");
}
// private String name;
// private String gender;
// private int age;
// private String addr;
//
// //工作
// public void work() {
// System.out.println("工作……");
// }
//
// public void eat() {
// System.out.println("吃飯......");
// }
//
//
//
// public String getName() {
// return name;
// }
// public void setName(String name) {
// this.name = name;
// }
// public String getGender() {
// return gender;
// }
// public void setGender(String gender) {
// this.gender = gender;
// }
// public int getAge() {
// return age;
// }
// public void setAge(int age) {
// this.age = age;
// }
// public String getAddr() {
// return addr;
// }
// public void setAddr(String addr) {
// this.addr = addr;
// }
}
package com.hpe.test1;
public class Test1 {
public static void main(String[] args) {
Person p1=new Person();
p1.work();
p1.eat();
//子類不能直接訪問父類的私有成員
Teacher t1=new Teacher();
t1.work();
t1.eat();
System.out.println("--------------------");
t1.life();
}
}