1.多态:
对象在不同时刻表现出来的不同状态(父类子对象)
前提:
1)要有继承或者实现关系
2)要有方法重写
3)要有父类引用指向子类对象
成员特点:
方法有重写,而变量没有
成员变量:
编译和运行都在左边
成员方法:
编译看左边,运行看右边
真正的说父类用着子类的功能.
2.弊端以及解决方案
弊端:父类引用不能子类特有的功能.
解决:强制转换
3.类型转换异常
classCastException
当试图将对象强制转换成不是实例的子类时,抛出该异常.
避免:
向下转型只能转换成对象本来就是的类型或者父类型
4.多态的好处
提高代码的扩展性和可维护性.
开发原则:对扩展开发,对修改关闭.
5.抽象类:
抽象类的基本特点:
1)抽象类和抽象方法必须用abstract关键字修饰
2)有抽象方法的类一定是抽象类,但是抽象类中可以没有抽象方法
3)抽象类不能被实例化,通过子类对昂进行初始化.
4)子类继承自抽象类,要么子类继续抽象,要么重写父类中所有的抽象方法.
--强制要求子类做某些事情.
抽象类的成员特点:
成员变量:
可以是变量,也可以是常量
构造方法:
有构造方法,用来对父类数据进行初始化
成员方法:
非抽象方法:提高代码的复用性,用于继承
抽象方法:强制子类去干某些事情.
6.接口
针对于一个类中所有的方法都是抽象方法这种情况,java提供一个新的技术
特点:
1)接口不能被实例化
2)实现类实现接口,要么被子类重写,要么把子类抽象化.
成员特点:
1)成员变量:
全部都是变量,默认修饰符:public static final
2)构造方法:没有构造方法;
3)成员方法:
全部都是抽象方法,默认有修饰符:public abstract
自己手动修饰符....
7.类与接口的关系:
1)类与类:
继承关系,只能单继承,但是可以多层继承
2)类与接口:
实现关系.可以单实现,可以多继承,但也可以在继承一个类的同时,实现多个接口
3)接口与接口
继承关系,可以单继承,也可以多继承.
8.接口的思想特点
1)对外暴露的规则
2)是程序的功能扩展
3)接口的出现降低耦合性
4)接口可以用来多实现.
|