Java复习笔记(一)-----三大特性

三大特性之封装

封装的好处:
- 良好的封装能减少耦合。
- 类内部接口可以自由修改。
- 可以对成员进行更精确的控制。
- 隐藏信息,实现细节。
- 封装可以使我们容易的修改类的内部实现,而无需修改使用了该类的客户代码。

三大特性之继承

  • 继承是使用已存在的类的定义为基础,建立新类的技术,新类的定义可以增加新的数据或者新的功能,同时也拥有父类的的所有功能,通过继承我们能够复用之前的代码,提高开发效率。
  • 在继承关系中,继承者可以完全替换被继承者,反之则不可以,例如,我们可以说猫是动物,但不能说动物是猫。
  • 对于若干个相似的类,我们可以抽象出他们共同的行为和属性并将其定义成一个父类,然后用这些类继承该父类。这些类不但有父类的属性、方法,还可以定义自己独有的属性和方法。
构造器
  • 继承关系中,构造器只能够被调用而不能被继承。调用父类的构造方法使用super();
  • 构造方法的执行顺序为从父类向子类一级一级完成构建;
  • 如果父类中有默认构造器,编译器会默认给子类调用父类的构造器。
  • 如果父类中没有默认构造器,子类要显式的使用super()来调用父类构造器,而且必须是在子类构造器的第一行代码调用,否则会报错(无法找到符合父类形式的构造器)。
protected关键字
  • protected修饰词,对于其他类来说是私有的。但对于同一个包中的子类是可以访问的。
  • 父类中的属性建议保持为private,通过protected修饰的方法来操作这些属性。
向上转型
  • 将子类转换成父类,在继承关系上面试向上移动的,所以称之为向上转型。向上转型是从一个专用类型向通用类型转换,所以它总是安全的,唯一发生的变化可能是子类特有的属性和方法丢失。
谨慎使用继承

继承存在以下缺陷:
- 父类发生变化,子类必须跟着变化。
- 继承破坏了封装,对于父类而言,他的实现细节对子类来说都是透明的。
- 继承是一种强耦合关系。

三大特性之多态

多态:父类引用指向子类对象,调用方法时会调用子类的实现,而不是父类的实现,这叫多态。

多态的存在有三个前提:
1. 要有继承关系
2. 子类要重写父类的方法
3. 父类引用指向子类对象(向上转型)

父类 f = new 子类();
- 父类类型的引用 f 可以调用父类 f 中定义的所有属性和方法,但不能调用只存在与子类中的方法和属性。(包括重载的方法),如果子类重写了某些方法,父类调用时会执行子类的方法。
- 当子类重写父类的方法被调用时,只有对象继承链中的最末端的方法才会被调用。
- 在继承链中对象方法的调用存在一个优先级:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。

多态机制遵循的原则概括为:当父类对象的引用变量引用子类对象时,父类对象的引用变量决定调用谁的方法,但如果这个方法被子类对象重写后,会执行到继承链的最末端,也就是子类对象中的成员方法,会根据继承链中方法调用的优先级来确认方法,该优先级为:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值