抽象与多态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象与多态相关的知识,希望对你有一定的参考价值。

一 . 重写和重载的区别:

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

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

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

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

二 . 抽象类:

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

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

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

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

5.用abstract定义抽象类

三 . 多态:

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

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

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

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

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

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

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

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

以上是关于抽象与多态的主要内容,如果未能解决你的问题,请参考以下文章

Java多态与抽象类

多态与抽象类

第十二章 多态性与抽象类

Java学习笔记3.7.3 抽象类接口与多态 - 多态

抽象与多态

多态抽象类与接口