栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java课程复习之面向对象(中)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java课程复习之面向对象(中)

Java课程复习之面向对象(中)

一、面向对象的特征

  • 封装
  • 继承
  • 多态

二、封装

1.封装

  • 通过访问控制实现,信息隐藏
  • 访问权限控制符
    public 公共访问权限
    protected 包访问权限、继承访问权限
    无访问控制符修饰 包访问权限
    private 类内部访问权限
    权限从小到大:private->无访问控制符->protected->public
  • 修饰符可用于:修饰类、修饰类的属性成员、修饰类的成员方法
  • protected属性具有包访问权限,可以被同一包中的所有类访问
  • 不能通过对象引用来访问不在同一包的类的protected属性和方法
  • 子类的类定义中可以访问父类的protected属性和方法,不论是否在同一包
  • 访问权限首先看类前的修饰符,再看属性和方法前的修饰符

2.消息

  • 面向对象程序 = 对象 + 消息
  • 消息的实质是引用向对象发出的服务请求,是对数据成员方法的调用。
  • 引用必须引用了特定的对象,否则会在运行时抛出NullPointerException异常
  • 对象必须定义了相应的属性和方法
  • 被访问的属性或方法必须具有可访问的权限

3.类的组合

  • 类的复用方式之一,优先于继承

三、继承

1.继承

  • 通过extends关键字实现
  • 子类继承了父类的所有属性和方法,但只有public、protected的属性和方法在子类中是可见的
  • 子类可以直接访问父类的protected属性和方法
  • 子类不能直接访问父类的private属性和方法,可以调用父类的公共方法来间接访问私有属性

2.Object类

  • Object类是所有类的共同祖先
  • Object类中定义的方法都可以被所有的子类继承
  • Object类方法
    方法名说明
    Class getClass()获得当前对象的类对象
    String toString()得到代表这个对象的字符串
    Object clone()将当前对象克隆,默认是浅拷贝
    void finalize()对象被释放时使用,已弃用
    int hashCode()得到代表对象的一个整数,这个整数在应用程序运行时保持不变
    Boolen equals(Object obj)判断两个引用是否指向同一对象,其参数不能为普通数据类型
    void notify用于线程同步中唤醒等待的线程
    void wait()应用于线程同步中的线程等待

四、多态

1.定义

  • 多态是指一个程序中同名的不同方法共存的情况
  • Java提供两种多态的机制:重载和覆写

2.重载

  • 方法名称相同,参数类型或个数不同
  • 编译器视角:方法签名=方法名称+参数类型+参数个数 组成成唯一键
  • 同一个类中通常提供多个重载方法

3.覆写

  • 子类对父类的同名方法(方法名称相同,参数相同,返回类型相同)重新进行定义,即在子类中定义与父类中已定义的同名而内容不同的方法。
  • 覆写与重载的区别:
    覆写:方法名称相同,参数类型、个数一致,子类返回类型可向上转型到父类返回类型 (类族)
    重载:方法名称相同,参数类型或个数不同 (同一个类)
  • 覆写需要满足的条件
    • 子类的访问修饰符权限应等于或大于父类,不能变小
    • 子类的返回类型能够向上转型成为父类的返回类型
    • 异常也要能向上转型为父类的异常
    • 方法名、参数类型及个数必须严格一致
    • 覆写只能针对非静态、非final、非构造方法
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号