Java中的三个重要概念(封装/继承/多态)

封装

封装就是隐藏对象的属性和实现细节,对外提供公共访问方式,这样可以让使用者只能通过程序员规定的方法来访问数据,还可以方便的加入存取控制语句,限制不合理操作。

  • 良好的封装可以减少耦合
  • 类内部的结构可以自由修改
  • 可以对成员进行更精确的控制
  • 隐藏信息,实现细节
控制修饰符private(default)protectedpublic
同一类中此场景可以访问此场景可以访问此场景可以访问此场景可以访问
同一包中此场景可以访问此场景可以访问此场景可以访问
子类此场景可以访问此场景可以访问
全局范围此场景可以访问

继承

继承是指从已有类中诞生出新类的方法,该方法通过extends关键字来实现。子类具有父类的非private的特征与行为,还具有自身独有的特点,二者是is-a的关系。在Java中,只支持单继承,所有的类都直接或者间接的继承了Object类,即Object类是所有Java类的祖先,在定义类时,没有使用关键字,则该类直接继承自Object类。

  • 不可以使用protected和private修饰符
  • 子类不可以选择性继承父类
  • 使用super()可以在子类构造函数中调用父类的构造函数;super.方法名可以直接访问并调用父类中的某个方法;super.变量名和对象名可以直接访问父类中的变量或对象

多态

一个接口,多种方法,多态是指同一操作作用于不同的对象,可以有不同的解释,并产生不同的执行结果。可以理解为:多态是通过指向父类的指针,来调用在不同子类中实现的方法。

  • 存在继承关系(继承是多态的基础,没有继承便没有多态)
  • 子类重写父类的方法(多态下会调用子类重写的方法)
  • 父类引用变量指向子类对象(子类到父类的类型转换被称为向上转型,upcasting),注意,此时父类引用变量无法调用子类特有的方法(父类到子类的强制类型转换被称为向下转型,downcasting)

其中,重载(Overload)与重写(Override)是实现多态的两种主要方式。

  • 重载(Overload)是同一个类中存在多个方法的方法名相同,但是参数列表不同(参数的个数、类型、顺序等)的情况,体现了多态
  • 重写(Override)是当子类定义了一个方法,其方法名、返回值类型、参数列表与父类中某个方法一样,就说该子类重写(覆盖)了父类的同名方法

参考资料:面向对象编程三大特性
参考资料:Java的三大特性
参考资料:重载&重写

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值