继承概念
  • 继承的本质是对某一批的抽象,从而实现对现实世界更美好的建模。
  • extends的意思的“扩展”。子类是父类的扩展。
  • JAVA中类只有单继承,没有多继承!理解:一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子!
  • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键词extends来表示。
  • 子类和父类之间,从意义上讲应该具有“is a”的关系。
  • object类
  • super:父类的
  • 方法重写:重点–> 多态
代码
// main
Student student = new Student();
student.say();
student.test(100);




// 学生 is 人 :派生类 子类
// 子类继承了父类,就会拥有父类的全部方法!
public class Student extends Person{
    public student(){
        // 隐藏代码:调用了父类的午餐构造
        super();
        // 调用父类的构造器,必须要在子类构造器的第一行
    }
    
    
    public int many = 10;
    
    // super demo
    public void test(int many){
        System.out.println(many);	// 传过来的many
        System.out.println(this.many);	// 当前类的many
        System.out.println(super.many);	// 父类的many
    }
    
    
}

// 在Java中,所有的类,都默认直接或则间接继承Object类
// Person 人 : 父类 基类
public class Person{

   
    
    
    // public:公共的
    // protected:受保护的
    // default:默认的
    // private: 无法继承,私有的
    public int many = 10_0000_0000;
    
    public void say(){
        System.out.println("hi");
    }
}

快捷键:Ctrl + H 树结构

super注意点
  1. super 调用父类的构造方法,必须在构造方法的第一个
  2. super 必须只能出现在子类的方法或则构造方法中!
  3. super 和 this 不能同时调用构造方法!
    super Vs this:
    代表的对象不同:
    this:本身调用者这个对象
    super:代表父类对象的引用
    前提:
    this:没有继承也可以使用
    super:只能在继承条件下才能使用
    构造方法
    this():本类的构造
    super():父类的构造!