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

5.Java中抽象类和接口

抽象类与接口

  • 相同
    • 不同
      • 先从抽象类说起
      • 再从接口说起

相同

1.两者都不能实例化,因为他们都不全。(例如可以实例化一个苹果,但是不能实例化水果)
2.一个类可以实现多个接口,但是只能继承一个抽象类
3.如果这个类实现了接口或者继承了抽象类,就必须把其中抽象方法全部实现(哪怕不重写也要实现)

不同

先从抽象类说起

1.抽象类可以实现构造器(super)
2.抽象类有具体方法和抽象方法(抽象类是有一个或多个抽象方法。抽象方法是声明一个方法但不实现,由子类实现。)
3.抽象类中成员可以被关键词public,protect,private修饰。
4.抽象类可以定义成员变量(如setname()与getname()方法,设置抽象类的name与获取name)
5.抽象类里面可以没有抽象方法,因为可以有具体方法啊。但是有抽象方法就必定是抽象类。
6.抽象类中有静态方法(通过实现子类来调用父类的静态方法)
7.一个类只能继承一个抽象类。

再从接口说起

1.接口中不能定义构造器
2.接口中的方法全是抽象方法(换句话就是无具体方法和静态方法)
3.接口中成员只能用关键词public修饰
4.接口中成员变量都是常量(不可再修改,例如int中Integer.MAX_VALUE)
5.一个类可以实现多个接口


http://www.kler.cn/a/15533.html

相关文章:

  • Lua资料
  • 机器学习-37-对ML的思考之机器学习发展的三个阶段和驱动AI发展三驾马车的由来
  • C++深度搜索(2)
  • 云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
  • Vue中的导航守卫有哪三种?分别有什么作用
  • Nginx: 实现Websocket代理
  • 一曲微茫度余生 ——川剧《李亚仙》唱响香港西九戏曲中心
  • bagging(main: RF随机森林) 回归器
  • 神奇的饼状图:如何用最简单的方式呈现复杂的数据
  • layui入门使用文档(包含几个重要的组件)
  • mysql语句高级用法使用记录和sql_mode=only_full_group_by错误解决
  • LeetCode笔记:Weekly Contest 342
  • 快手智能处理与编码算法产品化之路
  • 7-4 多态练习-计算面积
  • 如何实现U盘低格?这样操作快速搞定!
  • [python][vpython]用vpython实现小球砸弹簧代码
  • 十四、51单片机之AD转换
  • 第五章 资源包使用
  • 代码随想录算法训练营第58天|739. 每日温度,496.下一个更大元素 I
  • MongoDB (一) Java使用MongoDB[CURD]
  • python@可变对象和不可变对象@按值传递和引用传递@python运行可视化工具
  • Leetcode力扣秋招刷题路-0852
  • 优思学院|精益生产为企业带来革命性转变的效益
  • Linux centos重装yum
  • GCM与CCM的的规格和加解密过程
  • 网页爬虫之WebPack模块化解密(JS逆向)