面向对象三大特性

一、面向对象三大特性

1.1 封装

  • 概念:尽可能隐藏对象的内部实现细节控制对象的修改及访问权限
  • 使用***private***修饰符将属性修饰为私有,提供公共的**set/get方法供外部访问(唯一通道),方法内部可对数据进行检测和过滤

1.2 访问修饰符

在这里插入图片描述

1.3 继承

  • 类与类之间特征和行为的一种赠予或获得。在一组相同或类似的类中,抽取出共性的特征和行为,定义在父类中,实现重用。

  • 语法:

    class 子类 extends 父类{}//定义子类时,显示继承父类
    
  • 应用:产生继承关系后,子类可以使用父类中的属性和方法,也可以定义子类独有的属性和方法。

  • 好处:既提高代码的复用性,又提高代码的可扩展性

  • Java为单继承,一个类只能有一个直接父类,但可以多级继承,属性和方法逐级叠加。

  • 不可继承

    • 构造方法
    • private修饰的属性和方法
    • 父子类不在同一个package中时,default修饰的属性和方法

1.4 方法重写

  • 当父类提供的方法无法满足子类需求时,可在子类中定义和父类形同的方法进行重写(Override
  • 原则
    • 方法名称、参数列表、返回值类型必须与父类相同
    • 访问修饰符可与父类相同或是比父类更宽泛
  • 执行:
    • 子类重写父类方法后,调用时优先执行子类重写后的方法
  • ***super***关键字访问父类的属性和方法
  • 在具有继承关系的对象创建中,构建子类对象会先构建父类对象

1.4 方法重写

1.5 多态

  • 概念:父类引用指向子类对象,从而产生多种形态
  • 父类引用仅可调用父类中声明的属性和方法,不可调用子类独有的属性和方法
  • 使用场景:
    • 使用父类作为方法形参实现多态,使方法参数的类型更为宽泛
    • 使用父类作为方法返回值实现多态,使方法可以返回不同子类对象
  • 作用:
    • 屏蔽子类间的差异
    • 灵活、耦合度低

1.6 装箱、拆箱

  • 向上转型:

    • 父类引用中保存真实的子类对象
  • 向下转型:

    • 将父类引用中的真实子类对象,强转回子类本身类型
  • 只有转换回子类真实类型,才可调用子类独有的属性和方法

  • 如果转换类型不匹配,会发生类型转换异常(ClassCastException

  • instanceof

    • 语法:

      父类引用 instanceof 类型//返回boolean类型结果
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值