Java中的继承

继承:

在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。

接口是比抽象类更抽象的一种类。接口和子类的关系叫实现!接口和抽象类相比的话,可以理解为:抽象类是一个父类,是一个子类必须具备的东西,而接口是特殊的,不是每一个子类都需要具备的东西;一个子类可以有多个接口但是只能有个抽象类。接口由于其定义格式的,其内定义的都是静态常量,都是不能更改的。

 继承的格式

格式:
class 子类 extends 父类 {}

继承的好处及注意事项:

①、继承的出现提高了代码的复用性,提高软件开发效率。

②、继承的出现让类与类之间产生了关系,提供了多态的前提。

③、在JAVA中,类只支持单继承(只能一个亲爹),一个父类可以多个子类(多个儿子);

继承-子父类中成员变量的特点:

  继承中子父类有同名变量时,如果子类直接有用自己的,没有就用父类的。

      (就近原则)

       在子类中,访问父类中的成员变量格式:

super.父类中的成员变量

继承-子父类中成员方法特点-重写&应用:

方法重写:

    子类中出现与父类一模一样(方法名、返回值类型、参数列表都相同)的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。

(就近原则)

   在子类中,访问父类中的成员方法格式:

super.父类中的成员方法();

子类方法覆盖父类方法,必须要保证权限大于等于父类权限。

(public > protected > default > private)

抽象类:

抽象方法定义的格式:

public abstract 返回值类型 方法名(参数);

抽象类定义的格式:

abstract class 类名 {
}

1.抽象类不能创建对象。

2.普通类一定重写父类父类抽象方法;

3.抽象一定父类;

4.抽象类和抽象方法都是需要abstract 修饰的;

5.抽象关键字abstract 不可以和 private 共存:

(private:私有的方法子类是无法继承到的,也不存在覆盖)

6.因为抽象类是子类的父类,是将其共同的方法抽取出来的。所以只有覆盖了抽象类中的所有的抽象方法后,子类才能创建对象。否则子类还是个抽象类。

原文地址:https://www.cnblogs.com/heitaitou/p/12787478.html