前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础知识(五)--抽象类&接口

Java基础知识(五)--抽象类&接口

作者头像
用户7386338
发布2021-05-13 11:34:18
3260
发布2021-05-13 11:34:18
举报
文章被收录于专栏:Java患者

抽象类

抽象类概述

  • 抽象类用来描述一种类型应该具备的基本特征与功能,具体如何去完成这些行为由子类通过方法重写来完成.

抽象类特点

  • 抽象类和抽象方法必须用abstract关键字来修饰
  • 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
  • 抽象类不能实例化,那么抽象类如何实例化?
    • 按照多态的方式,由具体的子类实例化.其实这也是多态的一种,抽象类多态.
  • 抽象的子类
    • 要么是抽象类
    • 要么重写抽象类中的所有抽象方法

抽象类的成员特点

  • 成员变量 : 既可以是变量,也可以是常量.abstract是否可以修饰成员变量?不能修饰成员变量
  • 构造方法 : 有
    • 用于子类访问父类数据的初始化
  • 成员方法: 既可以是抽象的,也可以是非抽象的.

抽象类的成员方法特性

  • 抽象方法: 强制要求子类做的事情
  • 非抽象方法: 子类继承的事情,提高代码复用性
  • abstract不能和哪些关键字共存
    • private : 因为一个abstract方法需要被重写
    • final: 因为一个abstract方法需要被重写,被final修饰的方法是不能被重写的
    • static : 因为一个abstract方法没有方法体.静态方法需要对方法体执行内容分配空间(abstract是没有实现的,不能产生对象,而static是属于类的,类本身是已经存在的对象)
    • synchronized : 是同步的,然而同步需要具体的操作才能同步(即使用synchronized 关键字是需要有具体的实现同步的操作的)
    • native: 他们本身的定义就是冲突的.native声明的方法是移交本地操作系统实现的,而abstract是移交子类对象实现的,同时修饰的话,导致不知道谁实现声明的方法.

接口

接口概述

  • 从狭义的角度讲就是指java中的interface
  • 从广义的角度讲对外提供规则的都是接口

接口特点

  • 接口不能实例化
    • 按照多态的方式来实例化
  • 接口的子类
    • 可以是抽象类,但是意义不大
    • 可以是具体类,要重写接口中所有抽象方法

接口的成员特点

  • 成员变量 : 只能是常量,并且是静态的跟公共的
    • 默认修饰符 : public static final
  • 构造方法 : 接口没有构造方法
  • 成员方法:只能是抽象方法
    • 默认修饰符: public abstract
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 抽象类
    • 抽象类概述
      • 抽象类特点
        • 抽象类的成员特点
          • 抽象类的成员方法特性
          • 接口
            • 接口概述
              • 接口特点
                • 接口的成员特点
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档