多态的概念:JAVA世界中,多态是指两个或多个属于不同类的对象,对于同一个消息(方法的调用)作出不同相应的方式。
多态编译时是父类类型,运行时是子类类型
实例化的时候父类在前子类在后
多态的优点:1) 可替换性 2)可扩充性 3)灵活性 4)简化性
多态存在的3个必要条件
1.要有继承
2.要有方法的重写
3.父类引用指向子类对象(对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接)
对于多态,可以总结它为:
1.使用父类类型的引用指向子类的对象;
2.该引用只能调用父类中定义的方法和变量;
3.如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;
4.变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。
5.如果继承的子类继承父类的的一个方法后加以重载,则该父类的引用不能使用重载之后的那个方法。
什么是接口:
接口里面也有抽象方法但不用abstract 修饰 子类要实现里面的所有抽象方法
接口是一种规范,不需要关心通过这个接口可以完成什么功能,使用这个接口,就必须遵守这个接口的规范。
为什么要使用接口:接口可以精简程序结构,免除重复定义,提出设计规范,JAVA—只支持单继承 —可以实现多个接口
Java接口—接口是一种特殊的抽象类 接口的关键字是:interface
抽象类和接口
抽象类中的方法必须要用abstract修饰
抽象类是 is 是什么
接口是 like 是具备某种能力