【java】继承

  1. 继承:是一种类与类之间的关系,用已经存在的类(父类/基类)构建新的类(子类/派生类),子类将继承父类中的一些成员,同时也将有自己额外的功能或变量,但不能选择性地继承;
  2. 为什么要继承:提高代码复用性,缩短开发周期;
  3. 继承的例子:猫、狗继承自动物;老师、学生继承自人;卡车、轿车继承自车;
  4. 继承关键字:extends
  5. 方法重载:
    • 同一个类中;
    • 方法名相同,参数列表(类型、顺序、数量)不同;
    • 返回值类型、方法的访问修饰符任意;
  6. 方法重写:
    • 子类中;
    • 方法名相同、参数列表相同、返回值类型相同;
    • 访问范围应大于等于父类方法修饰符;
  7. 如何区分调用的是子类继承自父类的方法 还是子类重写的方法?
  8. super关键字:
    • 子类调用父类中方法:super.print()
    • 访问父类变量:super.name
    • 调用父类构造方法:super()
  9. 实例化的初始化顺序:
    • 父类静态成员:父类中的静态变量、静态代码块,仅执行一次;
    • 子类静态成员 :仅执行一次;
    • 父类对象的构造:属性(赋值)、构造代码块、构造方法按照声明顺序依次执行;
    • 子类中的构造方法:属性(赋值)、构造代码块、构造方法按照声明顺序依次执行;

注:

  • 子类构造过程中必须调用父类构造方法;
  • 如果子类中没有显式调用父类构造方法,那么默认调用父类的无参构造;
  • 如果子类中没有显式调用父类构造方法且父类没有无参构造方法,编译会出错;
  • 使用super()调用父类构造方法,必须放在子类构造方法的第一行。
this super
访问当前对象的成员属性 访问父类的成员属性
访问当前对象的成员方法 访问父类的成员方法
访问当前对象的构造方法 访问父类的构造方法
静态方法中不能使用this 静态方法中不能使用super

注意:子类构造方法中,不能同时使用super和this,因为他们都需要放在构造方法的第一行。

public class ParentClass {
    public ParentClass(int value) {
        // 父类构造方法的逻辑
    }
}

public class ChildClass extends ParentClass {
    public ChildClass(int value) {
        super(value);  // 调用父类的构造方法
        // 子类构造方法的逻辑
    }

    public ChildClass() {
        this(0);  // 调用本类的其他构造方法
        // 子类构造方法的逻辑
    }
}

你可能感兴趣的:(java,java,开发语言)