3.1、继承的基本概念

  1. 3.1、继承的基本概念

3.1、继承的基本概念

观察以下的两个类

Person类:

class Person{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

Student类:

class Student {
    private String name;
    private int age;
    private String school;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getSchool() {
        return school;
    }
    public void setSchool(String school) {
        this.school = school;
    }
}

从这样的两个类中可以发现,代码的重复过多,直接从Student类中就可以发现重复的代码。

因为按照之前所学的概念,如果要定义这样的类,则只能才用这种方式,从实际中可以发现学生是一个人,学生比人多了一个属性,两个方法,也就是说学生要比人的定义更多,那么这个时候就可以使用继承的概念:

继承:就是扩展已有类的功能,在继承中分为子类和父类,父类有时候又称为超类(super class)、子类有时候也称为派生类。

继承的基本语法:

class 子类 extend 父类{}

了解了语法之后,下面来看一下,如何实现一个基本的继承。

class Person{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
class Student extends Person{

}

public class Demo00 {
    public static void main(String args[]) {
    Student stu = new Student();
    stu.setName("张三");
    stu.setAge(30);
    System.out.println("姓名:"+ stu.getName());
    System.out.println("年龄:"+ stu.getAge());
    }
}

以上的代码只是维持了父类中的内容,那么子类实际上也可以扩充父类的内容

class Person{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
class Student extends Person{
    private String school;
    public String getSchool() {
        return school;
    }
    public void setSchool(String school){
        this.school = school;
    }
}

public class Demo00 {
    public static void main(String args[]) {
    Student stu = new Student();
    stu.setName("张三");
    stu.setAge(30);
    stu.setSchool("清华大学");
    System.out.println("姓名:"+ stu.getName());
    System.out.println("年龄:"+ stu.getAge());
    System.out.println("学校:"+ stu.getSchool());
    }
}

转载请注明来源