抽象类

抽象类必须用 abstract 修饰,子类必须实现抽象类中的抽象方法,如果有未实现的,那么子类也必须用 abstract 修饰。抽象类默认的权限修饰符为 public,可以定义为 public 或 procted,如果定义为 private,那么子类则无法继承。抽象类不能创建对象

抽象类和普通类的区别

  1. 抽象类必须用public、procted 修饰(如果为private修饰,那么子类则无法继承,也就无法实现其抽象方法)。默认缺省为 public
  2. 抽象类无法创建对象
  3. 如果一个子类继承抽象类,那么必须实现其所有的抽象方法。如果有未实现的抽象方法,那么必须定义为 abstract

接口

接口中的变量隐式的使用 public static final 修饰,并且需要给出初始值。方法隐式的使用 public static 修饰(并且只能是 public ,如果是 private,procted,那么就编译报错)。接口中的方法默认不能有具体的实现(JDK1.8开始可以有默认的实现)

接口和抽象类的区别

  1. 抽象类只能继承一次,但是可以实现多个接口
  2. 接口和抽象类必须实现其中所有的方法,抽象类中如果有未实现的抽象方法,那么子类也需要定义为抽象类。抽象类中可以有非抽象的方法
  3. 接口中的变量必须用 public static final 修饰,并且需要给出初始值。所以实现类不能重新定义,也不能改变其值。
  4. 接口中的方法默认是 public abstract,也只能是这个类型。不能是 static,接口中的方法也不允许子类覆写,抽象类中允许有static 的方法

参考:https://www.cnblogs.com/zzfpz/p/10990210.html

最新文章

  1. Yii2 使用Composer
  2. ASP.NET 配置KindEditor文本编辑器
  3. Angular系列----AngularJS入门教程01:AngularJS模板 (转载)
  4. How to bind to data when the DataContext is not inherited【项目】
  5. 分析jQuery中的each方法
  6. uvalive 4119 Always an Interger
  7. 小tip:我是如何初体验uglifyjs压缩JS的
  8. 专注于HTTP的高性能高易用性网络库:Fslib.network库
  9. "margin塌陷现象"div盒子嵌套盒子外边距合并现象
  10. CSS3秘笈复习:第十一章
  11. Hibernate中遇到的一个Exception
  12. js日常积累
  13. Log file location for Oracle E-Business Suite R12
  14. Linux超级守护进程——xinetd
  15. pyhanlp:hanlp的python接口
  16. Java记事本编写第一个程序“你好,世界”
  17. Conjob For hybris
  18. 洛谷P5206 数树
  19. elasticsearch更新doc文档
  20. 【linux轻松学】修改文件权限

热门文章

  1. MySQL通过自定义函数实现递归查询父级ID或者子级ID
  2. Flex带Checkbox的Tree
  3. HTML 空元素(转)
  4. DVWA学习之SQL注入
  5. 在.NET Core中使用Jwt对API进行认证
  6. ubuntu 1806 添加 kali 源
  7. 用launchscreen.storyboard适配启动图方法
  8. Python基础之第三方库gevent安装
  9. 翻转二叉树(深搜-先序遍历-交换Node)
  10. 严格次短路的求法-spfa