一、继承
当我们的代码明显出现重复性时,需要使用继承
例如:
学生类{
姓名
性别
年龄
学校
打印信息的方法
}
工人类{
姓名
性别
年龄
工种
打印信息的方法
}
老师类{
姓名
性别
年龄
科目
打印信息的方法
}
以上的信息明显出现了重复性,为了方便,我们使用继承
父类Person:
package day07;
/**
* 这是父类
*/
public class Person {
int age;
String name;
int sex;
public void showInfo(){
System.out.println(this.age);
System.out.println(this.name);
System.out.println(this.sex);
}
}
子类Student:
package day07;
/**
* 这是子类,他继承了父类Person
* 他可以this.name/this.age/this.sex调用属性
*/
public class Student extends Person{
String school;
public void showInfo(){
System.out.println(this.name);
System.out.println(this.age);
System.out.println(this.sex);
System.out.println(this.school);
}
}
子类通过继承父类的方式进而省掉共性代码,简化代码,子类在继承父类的基础上只需要写特有代码就好。
一个子类只能拥有一个父类,不能有多个父类
子类也可以当作别的类的父类
package day07;
public class ManKind {
int sex;
int salary;
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public void manOrWomen(){
if (this.sex==1){
System.out.println("男");
}else if(this.sex==0){
System.out.println("女");
}
}
public void employed(){
if (this.salary==0){
System.out.println("no job");
}else{
System.out.println("have a job");
}
}
}
package day07;
public class Kids extends ManKind {
public int getYearsOld() {
return yearsOld;
}
public void setYearsOld(int yearsOld) {
this.yearsOld = yearsOld;
}
int yearsOld;
public void printAge(){
System.out.println(this.yearsOld);
}
public static void main(String[] args) {
Kids someKid = new Kids();
someKid.setSex(0);
someKid.setSalary(100);
someKid.setYearsOld(19);
someKid.manOrWomen();
someKid.employed();
someKid.printAge();
}
}
运行截图