1.什么是继承?

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

2.使用继承的好处

通过子类继承父类,可以:

  1. 提高代码的复用性,减少重复代码的使用;
  2. 提高代码的可维护性;
  3. 对父类功能进行扩充。

3.继承的实现方式

使用extends关键字实现类与类之间的继承,类与类之间的继承是单继承,即一个子类只能拥有一个父类。
使用implements关键字实现接口之间的继承,接口之间的继承可以是多继承,即一个接口可以继承多个接口。

4.继承的注意事项

  1. Java只的类支持单继承,不支持多继承 ,但是可以多重继承,即A类继承B类,B类继承C类,也就是说B是A的父类,C是B的父类;
  2. 子类拥有父类非 private 的属性、方法,但是可以通过get和set方法继承私有属性;
  3. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展;
  4. 子类不能继承父类的构造器(构造方法或者构造函数),但是可以通过super关键字使用父类构造方法;
  5. 如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表;
  6. 子类继承父类,子类构造方法第一行默认调用父类无参构造,子类构造方法第一行只能调用一次父类构造;
  7. 子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法复写。

5.资源加载

  1. 想要使用类中的成员,就要先加载类,加载类就要加载类中的静态资源,静态资源包括静态成员变量、静态成员方法、静态代码块,他们没有优先级之分,按顺序加载;
  2. 创建对象,要使用类中的构造方法,使用构造方法要先执行类中的构造代码块,再调用构造方法,这是可以多次执行的;
  3. 方法参数列表如果是基本数据类型,实际传的就是值;如果是引用数据类型,实际传的就是该类的对象或是子类对象;
  4. 静态资源只能使用静态资源,普通资源可以使用静态资源和普通资源。

6.代码示例

父类代码展示:
从幼稚到成熟----java中的继承

子类代码展示:
从幼稚到成熟----java中的继承
测试类代码展示:
从幼稚到成熟----java中的继承
运行结果展示:
从幼稚到成熟----java中的继承

当子类使用super关键字调用父类构造方法时:
从幼稚到成熟----java中的继承
从幼稚到成熟----java中的继承
此时运行结果与之前相同,可知如果不使用super关键字调用父类的无参构造,则会默认调用。

7.资源加载顺序代码示例

父类代码:
从幼稚到成熟----java中的继承
子类代码:
从幼稚到成熟----java中的继承
运行结果:
从幼稚到成熟----java中的继承

相关文章: