抽象类

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

抽象类和普通类的区别

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

接口

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

接口和抽象类的区别

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

最新文章

  1. vs运行时候冒了这个错:无法启动IIS Express Web 服务器~Win10
  2. shell 中变量前"?"的作用
  3. Code First :使用Entity. Framework编程(2) ----转发 收藏
  4. 从语言到库到框架,再到API,再到标记最后到DSL语言
  5. 黄聪:Wordpress、PHP使用POST数据过大导致MySQL server has gone away报错原因分析
  6. 手写SqlHelper
  7. sdut Message Flood(c++ map)
  8. [LeetCode] 74. Search a 2D Matrix 解题思路
  9. CentOS安装错误:no default or ui configuration
  10. [C#参考]委托机制
  11. Libevent 事件管理和添加事件
  12. spring cloud之Feign的使用
  13. leetcode(js)算法之17电话号码的字母组合
  14. v-show 和 v-if 对 v-chart的影响
  15. (转)JavaScript escape() 函数(该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。)
  16. nginx负载均衡的5种策略
  17. NYOJ 252 01串 普通dp
  18. IE9对HTML5中一部分属性不提供支持的原因
  19. [转]使用QT开发GoogleMap瓦片显示和下载工具
  20. thinkpad T61 Fn功能键的完整说明及有关问题解决

热门文章

  1. Install zabbix
  2. Java基础知识总结之垃圾回收机制
  3. Github远程库与Git本地库连接
  4. linux hwclock
  5. Kibana笔记
  6. 小白学 Python 爬虫(10):Session 和 Cookies
  7. kubeadm配置高可用etcd集群
  8. 使用 colgroup 和 col 实现响应式表格
  9. JAVA中空指针异常报错的几种可能坑你的情况
  10. LeetCode-7.reverse-integer 【翻转字符串】【数学】