抽象方法,抽象类,接口

Posted vijarye

tags:

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

抽象类:具有抽象方法的类就是抽象类

抽象方法:没有方法体的方法就是抽象方法

作用:主要协同工作,制定标准


特征:

  • 抽象方法就是没有方法体的方法, 方法体就相当于函数体,抽想方法前,必须使用abstract 关键字,且方法后不能够写{},但是要写结束符;
  • 如果类中有抽象方法,那么这个类的前面也需要 abstract关键字修饰
  • 抽象类中可以有非抽象方法
  • 抽象类可以参数,要实现该抽象方法,必须传入同样参数
  • 不能直接实例化,必须由其他的类继承并且完全实现出所有的抽象方法,才可以使用,抽像类主要是给其他类进行继承操作
  • 抽象类可以继承抽象类
  • 抽象类中不能使用private 关键字



接口:

如果一个类中没有任何非抽象方法,并且不存在常量之外的任何成员属性,那么这个类就是一个接口


特征:

  • 声明一个接口不使用class关键字,而是使用interface关键字
  • 接口中的抽象方法不写abstract关键字,虽然他也是一个抽象方法
  • 接口只能用public 关键字, 不能使用 protected和private关键字
  • 接口中不允许有任何的成员属性,除了常量
  • 接口的继承不是使用extends而是使用implements关键字
  • extend只能继承一个普通类或者一个抽象类,implements能继承多个接口,从而模拟多继承


抽象类和接口的区别:

抽象类的成员可以具有访问级别,而接口的成员全部是public级别

抽象类可以包含成员属性、而接口只能有常量

抽象类可以继承接口,而接口不能继承抽象类

抽象类的成员可以有具体实现、而接口不行

抽象的子类可以选择性实现基类的抽象方法,而接口的子类必须全部实现






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

Dart9(九)抽象类、多态、 接口

抽象类和接口的异同?

十接口(接口的概念,实现,继承,实现)抽象类与抽象方法(抽象类,抽象方法概念,使用)

抽象方法和抽象类 & 接口

PHP 抽象类,接口,抽象方法,静态方法

Java——基础知识——抽象类与抽象方法接口