1,什么是继承:

Java中,子类会自动拥有父类的内容,被称为:继承

2,继承的 格式:

public class 子类名 extends 父类名 { }

  1. public class Zi extends Fu{
  2. }

3,继承的 特点:

  1. 类是单继承,一个子类只能继承一个父类;
  2. 可以进行多重继承,子类继承父类,父类继承爷类;
  3. 接口是多继承,一个接口可以继承多个接口;

    1. //接口的多继承格式:
    2. //接口Tab继承接口Usb
    3. public interface Tab extends Usb{
    4. void setCon();
    5. }

    4,继承的 优点:

  4. 减少代码的啰嗦/long余,提高代码的复用性;

  5. 提高代码的维护性;
  6. 还有利于功能的拓展;

    5,继承的 弊端(缺点):

    耦合性:
    当父类的内容发生改变时,子类也会跟着进行变化,削弱了子类的独立性。

    6,继承中,子类不可继承的内容:

  7. 在子类中,不能使用父类的构造器;

  8. 在子类中,不能直接调用父类中被private修饰的变量或方法,只能使用getter和setter方法去进行间接赋值调用;

    7,继承中,成员变量,成员方法的访问特点:(就近原则)优先使用子类的成员

  9. 子类中,先找子类 局部变量/方法;

  10. 子类中,先找子类 成员变量/方法;
  11. 子类没有,然后再找父类 成员变量/方法

    8,继承中,构造方法(器)的访问特点:

  12. 子类中的所有构造方法默认都会先访问父类中的无参的构造方法,再去执行自己的。

  13. (满参数的同理,但,满参数的是:父类子类的无参执行完再去执行满参的)

原因:子类初始化之前,一定会先完成父类的数据初始化,即优先调用父类的无参构造方法

  1. 注意:子类不能继承父类的构造器;(因为构造器的格式原因)
  2. 调用父类构造器,用 super关键字;

    1. //super调用父类的带参构造器;
    2. public Zi(int a){
    3. super(int a);
    4. }

    9,继承中的标准类格式:

    在子类中和一般类一样要提供一个无参和一个满参构造器;但是,这两个构造器是指向父类的构造器(继承标准类格式),然后,才根据需要设置子类自己的构造器:(如)

    1. //子类
    2. public class Zi{
    3. //假设定义变量a
    4. private int a;
    5. //指向父类的无参构造器
    6. public Zi(){
    7. super();//此处一般由编辑器自动生成;
    8. }
    9. //指向父类的满参构造器
    10. public Zi(int a){
    11. super(int a);
    12. }
    13. }