专栏首页happyJared接口(interface)和抽象类(abstract class)的区别是什么

接口(interface)和抽象类(abstract class)的区别是什么

  1. 接口中的方法默认都是 public,所有方法在接口中不能有默认实现(Java8 开始接口方法可以有默认实现),而抽象类可以有非抽象的普通方法;
  2. 接口中除了 static、final 变量,不能有其他变量,而抽象类中则不一定;
  3. 一个类可以实现多个接口,但只能继承一个抽象类,接口本身可以通过 extends 关键字扩展多个接口;
  4. 接口方法的默认修饰符是 public,抽象方法中则可以有 public、protected 和 default 这些修饰符(抽象方法就是为了被重写,所以不能使用private关键字修饰);
  5. 从设计层面来说,抽象类是对类的抽象,是一种模板设计,而接口是对行为的抽象,是一种行为的规范。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何检测数据类型

    value,ok := interface{}(container).([]int)这句代码的含义解释一下

    酷走天涯
  • 【Python】小谈 numpy 数组占用内存空间问题

    版权声明:本文为博主原创文章,未经授权禁止转载。 https://blog.csdn.net...

    Alan Lee
  • net/textproto

    textproto实现了对基于文本的请求/回复协议的一般性支持,包括HTTP、NNTP和SMTP

    酷走天涯
  • 索引的作用

    索引实现了一个快速子字符串的索引,比如我们要在字符传'1234445555644',查找所有字符4出现的下标,使用索引就能已最快的速度计算

    酷走天涯
  • 反射的用法

    在学习反射时,所有人首先面临的疑惑就是:如果程序中每个变量都是我们自己定义的,那么在编译时就可以知道变量类型了,为什么我们还需要在运行时检查变量,求出它的类型呢

    酷走天涯
  • 主流加密方式

    高级加密标准(英语:Advanced Encryption Standard,缩写:AES),对称加密

    酷走天涯
  • R + python︱数据规范化、归一化、Z-Score

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! htt...

    素质
  • 路径path的常用操作

    路径包只能用于以正斜杠分隔的路径,例如 URL 中的路径。此软件包不处理带有驱动器号或反斜杠的 Windows 路径; 要操作操作系统路径,请使用路径/文件路径...

    酷走天涯
  • less特性小结

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    j_bleach
  • 使用Guava实现限流器

    在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。限流可以认为服务降级的一种,限流通过限制请求的流量以达到保护系统的目的。

    用户1149268

扫码关注云+社区

领取腾讯云代金券