抽象类与多态

Posted 王耀辉1

tags:

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

1、抽象类

  抽象类用abstract来修饰。抽象类中可以有抽象方法也可以有非抽象方法。如果某个类中有抽象方法那么必须要定义成抽象类,但是抽象类中可以没有抽象方法。

  抽象类一般是做为基类来使用的,表示一种继承关系。继承抽象类的非抽象类必须实现抽象类中的所有抽象方法,有一个没有实现的就必需把此类定义为抽象类。

  抽象类可以有构造方法。

  抽象方法是只有方法名但是没有具体的方法体。public abstract void fun(){};

2、多态

  多态的含义:对外有一种表现形式,对内有多种表现形式。

  java中多态的具体体现:方法重载、方法覆盖、多态参数。

  多态环境下对成员方法的调用

  静态方法的调用

  方法参数多态性:方法形式参数的类型可以是父类类型,但是传递的实际参数可以是任意的子类对象。public void fun1(Animal animal){};

  判断实际对象属于那个类用instanceof,比如父类class animal{};子类class dog{};子类中创建一个对象 dog x = new dog();,判断x是否属于dog可以写:(a instanceof dog)。

 

 

 

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

c#多态之抽象类与接口的一点收获~~

多态抽象类与接口

c#多态之抽象类与虚方法的异同点~

PHP抽象类与接口的区别

Python_015(面向对象(接口类,抽象类,多态,封装)

抽象类与接口 day-11.2