当前位置: 首页 > news >正文

java基础--接口和抽象类的区别

基本区别

定义和关键字

  • 接口:使用interface关键字定义,是一种引用类型,类似于类,但它仅包含方法的声明(在Java 8及更高版本中,还可以包含默认方法和静态方法,但默认方法仍然需要被实现类调用)。
  • 抽象类:使用abstract关键字定义,是一种不能被实例化的类,但它可以包含抽象方法和非抽象方法。

定义代码

接口
public interface A {
}
抽象类
public abstract class A {
}

核心区别(需要记住)

        1.接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现), 抽象类可以有非抽象的方法

        2.接口中的实例变量默认是 final 类型的,而抽象类中则不一定

        3.一个类可以实现多个接口,但最多只能实现一个抽象类

        4.一个类实现接口的话要实现接口的所有方法,而抽象类不一定

        5.接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说, 抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2022年庐阳区青少年信息学科普日真题- 索道(way)
  • 【开源】嵌入式Linux(IMX6U)应用层综合项目(2)--智能家居APP
  • 推理还原的干货
  • 谷粒商城实战笔记-133~135-城业务-商品上架-远程上架接口
  • DAMA学习笔记(十)-数据仓库与商务智能
  • AI 生成搞笑段子
  • 【FPGA】module中CLOCK RESET iCall oDone的含义
  • 带你玩转鸿蒙next读取本地json并展示UI
  • 链表List
  • PTA 7-1 厘米换算英尺英寸
  • 【C++】C++11的新特性 — function 包装器 , bind包装器
  • 大数据技术栈
  • 极狐GitLab安全版本:16.10.1、16.9.3、16.8.5
  • mapper.xml文件中的sql中使用--注释问题
  • Tomato靶机
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • css布局,左右固定中间自适应实现
  • echarts的各种常用效果展示
  • FastReport在线报表设计器工作原理
  • fetch 从初识到应用
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • node-glob通配符
  • node学习系列之简单文件上传
  • PHP面试之三:MySQL数据库
  • Python 反序列化安全问题(二)
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Web标准制定过程
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 分布式熔断降级平台aegis
  • 记一次删除Git记录中的大文件的过程
  • 我的面试准备过程--容器(更新中)
  • 找一份好的前端工作,起点很重要
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • #define、const、typedef的差别
  • #LLM入门|Prompt#3.3_存储_Memory
  • #stm32驱动外设模块总结w5500模块
  • ${factoryList }后面有空格不影响
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (35)远程识别(又称无人机识别)(二)
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • ./和../以及/和~之间的区别
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .NET框架设计—常被忽视的C#设计技巧
  • .Net中的集合