抽象与多态

一 . 重写和重载的区别:

1.重写必须继承,重载不用。

2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同。

3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。

4.重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常。

二 . 抽象类:

1.概念:没有包含足够的信息来描述一个具体对象的类,就称为抽象类

2.举例:形状为抽象类,菱形、圆为为具体类

3.除了不能实例化对象,其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

4.由于不能实例化对象,所以抽象类必须被继承,才能被使用。

5.用abstract定义抽象类

三 . 多态:

1.概念:同一个行为具有多个不同表现形式或形态的能力

2.举例:显示屏:对外都称作显示屏,但它有各种不同的尺寸

3.必要条件:继承、重写、父类引用指向子类对象,该引用只能调用父类中定义的方法和变量

4.好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

5.当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,

再去调用子类的同名方法。

6.如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法

7.变量不能被重写,"重写"的概念只针对方法,如果在子类中"重写"了父类中的变量,那么在编译时会报错。

原文地址:https://www.cnblogs.com/qu-yong/p/7569189.html