多态
子类继承具体父类
子类必须覆写父类的方法,才实现多态
子类继承抽象类
(如果子类实现了抽象类的全部方法,则子类为不是抽象类,如果子类只要有一个没有实现父类的抽象方法,那么则为抽象子类)
子类必须覆写父类的方法或者实现父类的抽象方法,才实现多态。
子类实现接口
1--子类实现接口中的方法,才实现多态(100%)
静态函数是不支持“多态”的,静态函数根据对象的声明类型调用,非静态函数则根据实际对象类型进行调用。
抽象类与接口的区别:
1--接口中所有的方法都必须是抽象的方法,这些方法留给实现接口的类来实现,而抽象类既可以有抽象的方法,也可以有实现的方法。
2--抽象类偏重于属性,接口偏重于行为。
3--抽象类实现接口,不需要显示的声明接口中的抽象方法,不需要完全实现接口中的方法。
抽象类继承抽象类,可以不显示的写出抽象方法,但直到非抽象的子类必须实现所有的抽象方法。
抽象类中可以有静态的方法,而接口中不允许有静态的方法。
抽象类可以继承抽象类和非抽象类,可以实现接口(不需要所有方法),但不可以继承接口。
接口可以继承接口,但不可以实现接口。 |
|