复习面向对象--继承,重写,重载,抽象详解

继承:在现有的基础上去构建一个新的类。构建出来的新类被称作子类,现有类称作父类,子类会自动拥有父类所有。

继承的优点:

  提高了代码的可维护性;

  提高了代码的复用性;

  让类与类之间产生了继承关系

继承的弊端:

  类与类之间的耦合度过高;(接口可以用于解耦和)

继承的特点:

  java中只能够单继承,不能多继承,可以多层继承;

  所有类都直接或者间接的继承了Object类,Object类称为祖宗类;

继承的注意事项:

  使用关键字extends让类与类之间产生继承关系;

  父类私有的成员,子类不能继承;

  继承不可以随便继承,要符合什么是什么(苹果是水果的关系)

继承中的成员变量的关系:

  不同名称的变量:

    子类直接继承使用;

  相同名称的变量:

    默认访问的是子类自己的成员方法(this.),如果想访问父类的同名方法,请使用super.成员方法();

    super用来表示当前对象中包含的父类对象空间的引用;

    调用父类的成员变量:super.成员变量

    调用父类的成员方法:super.成员方法()

方法的重写(override):在子父类中出现了方法声明相同的情况,也叫做方法覆盖;

  方法重写注意事项:

    子类的方法声明要与父类相同;

    子类要重写方法的方法,方法的权限修饰符不能比父类的更低(>=)

    父类私有的方法,子类不能够进行方法的重写;

方法重载(ovreload):指在同一个类中,多个方法名称相同,他们的参数列表不同(个数不同,数据类型不同);

抽象:

  抽象方法:方法只有声明部分,没有方法体;

  抽象类:包含抽象方法的类,一定是抽象类;abstract修饰;

  抽象类的特点:

    1.抽象类与抽象方法都必须使用abstract来修饰;

    2.抽象类不能直接创建对象;

    3.抽象类中可以有抽象方法,也可以没有抽象方法(不会让其他人直接创建该类对象)

    4.抽象类的子类:实现了抽象方法的具体类、抽象类;

  

原文地址:https://www.cnblogs.com/yikuan-919/p/9532474.html