美文网首页
抽象类(abstract class)和接口(interface

抽象类(abstract class)和接口(interface

作者: ananRunner | 来源:发表于2021-02-28 10:58 被阅读0次

抽象类是什么?
如果一个类中没有包含走狗的信息来描述一个具体的 对象,这样的类就是抽象类。

语法 备注
抽象类定义用abstract关键字修饰 要通过子类进行实例化
抽象类是不能被实例化的 要通过子类进行实例化
子类必须重写父类的所有抽象方法 抽象方法:声明但却未被实现的方法,用abstract关键字修饰
含有抽象方法的类一定是抽象类,但是抽象类不一定含有抽象方法
抽象类是用来被它的子类继承的 关键字extends
抽象类是在功能上的一个规定

什么是接口

用interface关键字修饰
  • 作用: interface是为了把程序模块 进行固化的契约,是为了降低耦合
  • 使用interface的语法规定
语法 备注
接口定义用interface关键字修饰
接口中所有的方法都是抽象的 可以用abstract修饰,也可以省略
接口中的方法必须是用public修饰,或不写 但是不能被其他修饰符修饰
接口中的属性必须是全局常量 public static final修饰
抽象类是用来被他的子类实现的 关键字implement
抽象类是在结构上的一个规定
接口不能被实例化
子类实现接口时需要实现接口中所有的方法 若有一个不实现,该子类就是抽象类 abstract class

二者的相同点
都不能被实例化

二者的区别

类型 abstract class interface
定义一个 abstract class 关键字 interface关键字
继承 抽象类可以继承一个类和实现多个接口;子类只可以继承一个抽象类 接口可以继承接口(一个或多个),子类可以实现多个接口
访问修饰符 抽象方法可以有public project和default这些修饰符 接口方法默认修饰符是public,你不可以使用其他修饰符
方法实现 可以定义构造方法,可以有抽象方法和具体方法 接口是完全抽象的,没构造方法,且方法都是抽象的,不存在方法的实现
实现方式 子类使用extends关键字来继承抽象类,如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现 子类使用关键字implement来实现接口,它需要提供接口中所有声明的方法的实现
作用 为了把相同的东西提取出来,即重用 为了把程序模块进行固化契约,是为了降低耦合

相关文章

网友评论

      本文标题:抽象类(abstract class)和接口(interface

      本文链接:https://www.haomeiwen.com/subject/rtcgfltx.html