封装
Java中的封装就像一个盒子,我们将Java中的属性放入盒子中间,这便是封装,但盒子总要有封口供我们修改数据或者查看数据,这边是 “set / get” 的由来。
继承
Java中的继承是模拟现实世界的从属关系,以 "生命体"和"人"为例,人是属于生命体,而生命体不只包括人,人具备生命体通性,却不仅仅只有生命体的通性。
方法的重写是因为父类不满足需求或者需求与父类所写不符合,就像生命体会遗传父类的特征,也会产生变异,和父类产生差异。
"super"和"this"分别指代父类和子类中的属性和方法,通过super可以调用父类的方法,this则是子类的方法。
super是只有出现继承关系的时候才可以使用,而this则不需要。
老师在视频中有讲到,子类会调用父类的构造方法,这印证了我以前研究朋友代码时候的一些猜想。
在我看来,在新建子类对象的时候会新建父类对象,然后在父类对象上包裹一层子类对象形成子类对象。
- private的内容可以被继承,但是无法被直接访问,这就是封装的意义。
抛出异常时,子类抛出范围不能超过父类,就像欠债不能一代比一代欠钱多。
属性的访问级别只能子类比父类高,也就是提高不能降低,不能把父类的特性给弄没了。第一条举例是说产生差别但不是消失。
多态
多态是指父类对象可以指向子类对象。
与多态相关的一个比较关系是 “instanceof”,使用方法是A instanceof B,如果A可以转换成B类型则返回true,如果二者不满足该关系则返回false。
注意:判断的是A的实际指向类型,而不是当前类型。
本文完成于2020年5月27日17:17:29,是对于观看完秦疆老师Java视频的理解和总结。