继承

29 阅读1分钟

继承是面向对象的三大特征之一,继承让我们更加容易实现类的拓展,实现代码的重用,不再用重新发明轮子。

继承的作用:

  1. 代码复用,更容易实现类的拓展
  2. 方便建模

继承的实现

从字面意思看,extends就是拓展的意思,

image.png

package com.it.test;

public class Test {
    public static void main(String[] args) {
        Student s = new Student("小明", 20, "Java");
        s.rest();
        s.study();
    }
}

class Person {
    String name;
    int height;
    public void rest() {
        System.out.println("休息一下");
    }
}

class Student extends Person {
    String magor;
    public Student(String name, int height, String magor) {
        this.name = name;
        this.height = height;
        this.magor = magor;
    }

    public void study() {
        System.out.println("学习一会");
    }
}

instanceof

instanceof 是二元运算符,左边是对象,右面是类。当对象是右面类或者子类创建的对象时返回true,否则返回false.

public class Test {
    public static void main(String[] args) {
        Student s = new Student("小明", 20, "Java");
        s.rest();
        s.study();
        System.out.println(s instanceof Student); // true
        System.out.println(s instanceof Person); // true
    }
}

继承的使用要点:

  1. 父类也称作 超类、基类。子类:派生类。
  2. Java中只有单继承、没有像C++那样多继承。多继承会引起混乱。
  3. Java中的类没有多继承,接口右多继承
  4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)。但不一定可以直接访问:比如父类的私有属性和方法。
  5. 如果定义一个类时,没有调用extends,则它的父类是java.lang.Object;