1、abstract
a、抽象类
b、抽象方法
抽象类 | 普通类 | |
---|---|---|
创建对象 | 不能 | 直接创建 |
抽象方法 | 有 | 没有 |
2、interface
a、比较接口与抽象类 ----->接口可以实现多继承----- >抽象类除了抽象方法还可以由普通方法---->可以由方法的实现
b、接口的定义
c、接口的构成
d、接口的注意点
e、接口的新特性---->在jdk1.7后,接口中允许由 static 或 default 标注的方法,可以由方法体
接口构成
interface 接口名字{ 接口实现部分
成员变量;----默认:public static final 修饰
成员方法; ----默认: public abstract 修饰
}
一般接口中辟邪成员变量,只写方法。------制定规则,接口相当于规则列表(方法列表)
3、多态
a、多态的基础
b、多态的优点
c、多态的向上转型
d、多态的 instanceof
e、多态的成员使用
多态的基础
用于父类(不是单指直接的父类,只要是父类即可)的引用指向子类的对象
多态的优点
优点:可以提高代码的扩展性,使用之前定义好的功能,后面直接拿来用,而不用再去创建新的方法
缺点:不能直接调用子类特意的方法,只能调用父类特有的方法
多态的转型
父类的类型比子类的类型等级高
向上转型:相当于自动类型转换,由低类型到高类型
将子类转成父类的引用,只是将=前进行转换
A a = new B;
向下转型:相当于强制类型转换,由高类型到低类型
是将父类的引用强制转换成子类的引用
B b = (B)A
b.方法
成员在多态下的使用
多态下:
当父类与子类定义了同名属性:成员变量编译的时候看父类,运行的时候还是看父类
成员方法:编译的时候看父类,运行的时候看父类
静态成员方法:编译运行都看父类