多态实现的三种形式

Z, ZLW 1898

多态实现的三种形式有:1、接口;2、虚函数(重写);3、抽象。其中,接口是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口无法被实例化,但是可以被实现,接口可以被多继承,接口不能包含构造函数。

1、接口

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。

一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

2、虚函数(重写)

子类重写父类中的方法,对父类中的方法进行覆盖。适用情况:父类中的方法对子类来说不适用,子类通过重写该方法,覆盖了父类中的方法。

方法的重载: 在同一个类中,出现多个同名的方法,参数列表不同,与返回值类型,修饰符无关。

方法的重写: 子类中出现和父类中一模一样的方法(包括返回值类型,方法名,参数列表)。

3、抽象

如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。使用关键字 abstract 来声明。包含抽象方法的类一定得是抽象类,但抽象类中可以包含实例成员,这些实例成员也将遗传给儿子 抽象类不可以被实例化,但可以有构造函数,它的构造函数会在子类实例化的时候调用。

抽象类的特点

  • 抽象类不能实例化 ;
  • 抽象类不一定包含抽象方法,但是一个类包含抽象方法,它就一定是抽象类;
  • 抽象类中的抽象方法只是声明,不包含方法体;
  • 继承抽象类的子类如果不是抽象类就必须重写父类的所有抽象方法;
  • 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。

回复

我来回复
  • 暂无回复内容

站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部