Java面向对象三大特征之一 :
继承
extends 继承.
具有相同的属性,面向对象编程中,可以通过扩展一个
已有的类,并继承该类的属性和行为,来创建一个新的类,
这种方式称为继承(Inheritance)。
继承里面是类和类继承,不是对象和对象继承.
继承的来源
继承来自于现实生活.
如果不玩继承,代码可能出现:混淆属性,以及行为.
也有可能出现:代码重复,以及扩展无法提升的情况.
继承的概述
将一些具有相同属性,和行为的类,中间的相同属性和行为
抽象到一个公共类,然后让子类去继承公共类的方式.
继承需要满足is-a的结构.
被继承的类称为:父类,基类,超类.
子类被称为派生类.
在子类继承里面有两个东西无法继承,
父类私有的无法继承.
构造函数无法继承.
甚至还可以去重写父类的方法.
一定要学会内存中如何实现继承的.
继承的优点:
代码的可重要性.复用性.
父类的属性和方法用于子类.
设计应用程序变得更加简单.
子类可以扩展父类的属性和方法.
继承如何实现
Java中只允许单继承,但不支持多继承,但不是否认杂交的就不好.
--安全性高,层次结构清晰.-- 不好的地方:丰富性降低.
后续Java中可以支持多实现.
某些OOP语言(例如C++)允许子多个父类.
但在Java中不允许的,在Java中一个类只能有一个父类.
在Java里面所有的根类都是Object
类和类的关系
继承
实现
部分和整体-- 组合、聚合.
关联关系
依赖-使用关系
子类实例化
关键字-- new 来实例化
要记住:并非先创建一个父类对象,然后在创一个子类对象.
而是只创建一个对象--先是给父类分配空间,然后叠加子类私有的属性.
.