面试常客:谈谈你对封装、继承、多态的理解

封装

封装是当前属性被 private 所修饰,在类外不能够访问,只能在类内访问,意义是能够降低代码的管理复杂度,类的调用者不需要知道是怎么实现的,只需要调用get和set方法就可以,就好像我们看不到空调内部的零件信息,但是却能使用遥控器控制空调
Java提供了3个访问控制符:private、protected、public 还有一个是包访问权限(default)

private(当前类访问权限):类内部可以访问,类外部不能访问
default(当前包访问权限):类内部可以访问,同一个包中的类可以访问,其他类不能访问
protected(子类访问权限):可以被同一包中其他类访问,也能被不同包中的子类访问,其他类不能访问
public(公共访问权限):都能访问

继承

继承是使用已存在的类的定义作为基础建立新的类,新类的定义可以增加新的数据和新的功能,但是不能选择性的继承父类,就比如描述狗和猫,两者都有名字和年龄,但是叫声不同,那就可以写一个动物类,让猫类和狗类继承动物类,继承是一个is-a的关系
好处是提高代码的复用性,程序的可维护性,提高开发效率
子类继承父类除构造方法以外的所有属性和方法
子类要帮助父类进行构造

多态

多态发生的前提主要有3个:
1.父类引用引用子类对象
2.父类和子类有同名的覆盖方法
3.通过父类引用调用这个重写方法的时候,就会发生多态
将一个父类的引用指向子类的对象,称为向上转型,自动进行类型转换
此时通过父类引用调用的方法是子类覆盖或继承父类的方法,此时就发生了运行时绑定
如果父类要调用子类特有的方法,就要将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型,此时必须进行强制类型转换
如果需要向下转型就要使用instanceof来判断一个引用是否是某个类的实例,如果是,返回true,这样向下转型才安全
好处是:隐藏了子类类型,提高了代码的可扩展性
坏处是:只能使用父类的功能,无法使用子类的特有功能,功能有限制

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值