首页 > 其他分享 >抽象类和接口的区别

抽象类和接口的区别

时间:2022-10-16 17:14:30浏览次数:66  
标签:区别 控制符 接口 修饰 抽象类 方法 public

①定义的关键字不同:抽象类使用abstract定义;接口使用interface定义。

②继承或实现的关键字不同:抽象类使用extends继承;接口使用implements实现。

③子类扩展的数量不同:抽象类的子类,只能继承一个抽象类;接口的实现类可以有多个。

④属性的访问控制符不同:4种访问控制符(private,default,protected,public)都可修饰抽象类的属性;接口的属性访问控制符只能是public(接口的属性默认是 public static final 修饰)。

⑤方法的访问控制符不同:抽象类中的普通方法访问控制符无限制,抽象类中的抽象方法不能用 private修饰;接口中的方法控制符默认是public,且不能定义为其他。

⑥方法实现不同:抽象类中普通方法必需有方法体,抽象方法不能有方法体;接口中的普通方法不能有方法体,而static或default修饰的方法必需有方法体。

⑦静态代码块的使用不同:抽象类可以有静态代码块;接口不能有。

标签:区别,控制符,接口,修饰,抽象类,方法,public
From: https://www.cnblogs.com/pingcode/p/16796547.html

相关文章

  • SpringBoot 扩展性接口
    1.可扩展的接口启动调用顺序图​​org.springframework.beans.factory.xxx​​​​org.springframework.boot.xxx​​​​org.springframework.context.xxx​​ApplicationC......
  • let、const、var的区别
    var是ES5提出的,let和const是ES6提出的。const声明的是常量,必须赋值1)一旦声明必须赋值,不能使用null占位。2)声明后不能再修改3)如果声明的是复合类型数据,可以修改其属......
  • ES5 和 ES6 的区别,说几个 ES6 的新增方法
    ECMAscript5.,即ES5,表示ECMAscript的第五次修订-2009;ECMAscript6.,即ES6,表示ECMAscript的第六次修订-2015;ES6是对于ES5的一次改进,更加简洁,提高了开发效率;1.新......
  • Hooks与普通函数的区别
    Hooks与普通函数的区别在这里的Hooks具体指的是自定义Hooks,自定义的Hooks与我们定义的普通函数类似,都可以封装逻辑,以实现逻辑的复用。Hooks实际上是一种特殊的函数,而由于H......
  • C语言之字符串与字符数组的区别
     1.字符串的定义:(1)单个字符:charch='i';//单个字符的定义(2)一维字符串数组:chararr[]="love";(这种方法定义的一维字符串数组必须赋值)chararr[4];(想内存申请创建可以......
  • union all和union的区别用法
    unionall和union的区别:取结果的交集,union对两个结果集进行并集操作,不包括重复行,相当于distinct,同时进行默认规则的排序;unionall:对两个结果集进行并集操作,包括重复行,即所......
  • 前后端分离接口规范 ,看这一份就够了 !
    随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高。后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端......
  • 接口测试工具-Jmeter压力测试使用
    上一期分享了接口调用的工具-Postman(传送门:​​接口测试工具-Postman使用详解​​),这业务场景中还需要分析对应接口的性能,是否支持多并发,多并发的极限QPS在什么地方,这个时候......
  • 接口测试工具-Postman使用详解
    前公司有个说法叫做狗粮环境,什么叫做狗粮环境,就是搭建环境自己测试自己的代码,算法很多时候写好后是通过restful接口对外使用,接口测试就要引出一个利器-Postman.1、安装postm......
  • shopee V2 接口 虾皮货代打包贴单仓储系统,独立部署,系统源码 终身使用,没有任何隐形收
    shopeeV2接口虾皮货代打包贴单仓储系统,独立部署,系统源码 终身使用,没有任何隐形收费,想怎么用就怎么用直接就已经对接好了的接口。  虾皮货代打包系统虾皮代贴......