Object 是顶级父类!!!所有类都继承它
1.this 表示在本类中寻找成员变量;super 表示调用父类中成员变量。
2.注解
@Override 重写注解
3.多态
同类型的对象,表示出的不同形态。
父类类型 对象名称 = 子类对象;
有继承关系 | |
有父类引用指向子类对象 | 相当于子类对象赋值给父类类型 |
有方法重写 |
多态调用成员:
调用成员变量 | 编译看左边,运行看左边 |
调用成员方法 | 编译看左边,运行看右边 |
4.虚表继承
5.抽象类
只要有抽象方法,一定是抽象类;反之未必。
抽取共性时,你无法确定方法体 ‘{ }’ ,就会定义它为抽象方法,将会强制子类进行重写。
6.接口
接口是一种规则,是对行为的抽象。
接口用interface定义 | public interface 接口名 {} |
接口中默认方法 | public default void 接口名(){ sout...... } |
接口不能实例化 | 不能创建对象 |
接口与类之间为实现关系,通过 implements 表示 | public class 类名 implements 接口名 {} |
接口的子类(实现类) | 重写所有抽象方法 / 成为抽象类 |
接口可单实现、多实现 | public class 类名 implements 接口名1, 接口名2 {} |
实现类可以继承一个类的同时实现多个接口 | public class 类名 extend 父类 implements 接口名1, 接口名2 {} |
接口中可以定义抽象方法。抽象类是抽象类,接口是接口。
public interface Swim {
public abstract void swim();
}
接口成员:
成员变量 | 只能为常量,默认修饰符:public static final |
构造方法 | 无 |
成员方法 | 只能为抽象方法 ,默认修饰符:public abstract |
接口和类之间的关系:
类和类 | 继承,单继承 / 多层继承 |
类和接口 | 实现,单实现 / 多实现 / 继承一个类的同时实现多个接口 |
接口和接口 | 继承,单继承 / 多继承 |
如果一个方法调用了这个接口,那么就会传递这个接口的所有实现类的对象。
===接口多态: 接口类型 j = new 实现类对象();
public interface 运输 { .... } // 接口
public void 搬家 { 运输的接口 c } // 方法
搬家(车的对象); // 实现类
搬家(搬家公司); // 实现类
7.适配器设计模式
编写中间类 xxxAdapter(xxx为接口名字),实现对应接口,接口中得抽象方法进行空实现,让实现类继承这个中间类,并且同时重写需要得方法。(防止其他类创建xxxAdapter的对象,用abstract修饰)(抽象类不能创建对象)
8.内存分析工具(idea控制台终端实现)(cmd在外也可实现,自行百度)
需要代码在运行状态,才可进入
jhsdb hsdb
9.子类从父类继承下来的虚方法表里面的方法进行覆盖,称为重写。
2022.9.15