一、Java继承
面向对象的第二大主要特性,而继承性要解决的就是代码重用的问题,利用继承性可以从已有的类继续派生出新的子类,也可以利用子类扩展出更多的操作功能
继承的格式:
通过extends关键字可以实现类与类的继承
class 子类类名 extends 父类类名 {}
被继承的这个类称为父类,基类或者超类
继承的这个类称为子类或者派生类。
//父类
class Fu{}
//子类
class Zi extends Fu{}
类与类之间有两种格式。
一种是(is a)属于继承;
另一种是(has a)属于组合;
继承的特点:
通过extends关键字,实现了继承之后,让类与类之间产生了关系。
继承的本质就是抽取共性代码,多个重复代码的向上抽取,简化代码。
类是对一批对象的抽象,继承是对一批类的抽象。
父类又被称为超类,或者基类,子类又被称为派生类。(object)
二、 Java重写(覆盖)
重写又叫重写,Override。多态是java的特性,覆盖是表现多态特性的具体做法。《Effective Java》有一个章节特别提出了,如
果是覆盖方法,请一定记得加上@Override,在接下来的代码描述中你会看到,很多种方法混杂在一起的时候看起来是多么的难受
重载:重载只发生在一个类中,记住这点很重要,这也是跟覆盖这个概念撇清关系的最重要一点。重载要求同一个类中方法名相同
而参数列表不同。参数列表,就是入参的个数,类型,顺序。抓住定义中的这两点,其他的通过什么返回值,访问权限,异常来重
载一个方法那就是扯淡,混淆,不行。