当前位置: 微经验 > 经验 > 其他 > 接口和抽象类的区别

接口和抽象类的区别

更新时间:2023-01-04

1、抽象类一定要有抽象方法吗

  1、抽象类中不一定要有抽象方法。

  2、在编程语句中用 abstract 修饰的类是抽象类。抽象类是不完整的,它只能用作基类,不能生成对象。抽象类可以包含抽象方法、非抽象方法和抽象访问器。可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。

2、抽象类和抽象方法的特点

  抽象方法的特点:只包含方法定义,但没有具体实现的方法,需要其子类或者子类的子类来具体实现。

  抽象类的特点:含有一个或多个抽象方法的类称为抽象类。抽象类中可以包含非抽象方法,抽象类不能够被实例化,这是因为它包含了没有具体实现的方法,即可实例化的类一定不是抽象类,不包含未具体实现的抽象方法。

3、接口与抽象类的区别

  抽象类和接口的区别有:

  1、抽象类要被子类继承,接口要被类实现。

  2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。

  3、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

  4、接口是设计的结果,抽象类是重构的结果。

  5、抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。

  6、抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。

  7、抽象类主要用来抽象类别,接口主要用来抽象功能。

4、抽象类与静态类的区别

  抽象类不能实例化。一般用来构造基类。静态类不管实例化多少个,调用的都是最初实例化的。

  抽象类:抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

  静态类:主要的一个优点是写在栈中,安全高速稳定,而且在执行的时候,十分优先。

更多精彩资讯请关注微经验,我们将持续为您更新最新资讯!

上一篇: 安装封闭式阳台好不好 下一篇: 翡翠怎么鉴别真假