一、继承 extends 是多态的前提
只有一个父类;但是接口可以继承多个;
实际开发过程中不推荐把多个类写道一个Java文件中;
如果父类的成员变量加了private,则不能直接被子类使用;
如果父类和子类的成员变量名字一样,访问本类中的成员变量用this.,访问父类中的成员变量用super.;
以下内存空间了解:
方法重写重点
调用本类方法,this可以省略
在子类构造方法中隐藏了调用父类构造方法(先调用父类构造方法);因为在创建子类对象时父类中的成员和方法都没初始化了;
当写了有参数的构造方法时,无参数的构造方法就不会被调用;
继承的特点:
Java中一个类不能继承多个类,Java中的类只支持单继承,不支持多继承;
二、抽象类
抽象方法:public abstract void run();
抽象类:包含抽象方法的类为抽象类,也用abstract修饰;
子类必须需要讲抽象方法进行具体化;
ctrl + i 实现抽象方法;
@Override 代表父类方法的重写(覆盖);
实际工作中抽象类几乎不写(除非公司自己写框架),常用到的时普通类+接口;
note:
1、调用过程:先对象自己->该对象所在类->找父类->父类的父类-
2、初始化时:先是进行父类的构造函数,在进行属性的初始化操作,最后是子类的构造函数
3、