【Java基础】面向对象的特征:继承性

1.什么是继承

继承表示两个类之间的一种关系。
子类继承父类,则子类具有父类的属性和方法,同时可以扩展自己属性或功能。
子类更具体,父类更抽象。
image

2.为什么要有继承

定义两个类:Person和Student类
Person类

public class Person1 {
    public String name;
    public int age;
    public Date birthDate;

    public String getInfo(){
        String info = "姓名:"+name+"\n年龄:"+age+"\n生日:"+birthDate;
        return info;
    }
}

Student类

public class Student1 {
    public String name;
    public int age;
    public Date birthDate;
    public String school;

    public String getInfo(){
        String info = "姓名:"+name+"\n年龄:"+age+"\n生日:"+birthDate+"\n学校:"+school;
        return info;
    }
}

发现有很多代码都重复了
image

那么我们可以将Student类写为,Student类继承了父类Person所有属性和方法,并增加了一个属性school。

public class Student extends Person{
    public String school;

    public String getInfo(){
        String info = super.getInfo()+"\n学校:"+school;
        return info;
    }
}

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,其他类只需继承这个类即可,并可以扩展自己的属性。

3.继承说明

  • 子类:派生类SubClass
  • 父类:基类或超类SuperClass

子类继承父类,子类就具有了父类中的所有方法和属性,包括私有的(private),但子类不能直接访问父类中私有的属性和方法,可以通过get/set操作访问父类私有结构。

4.继承的类型

image
一个类只能有一个父类。
如果没有显式声明一个类的父类,则此类继承于java.lang.Object类。
所有的类除了Object类之外都直接或间接继承于Object类。
因此所有的java类都具有java.lang.Object类声明的功能。

posted @ 2022-09-06 11:09  植树chen  阅读(47)  评论(0编辑  收藏  举报