Java基础教程:掌握继承机制

发表时间: 2024-05-07 06:51

继承的概述

  • 什么继承

1)使用关键字extends,让一个类和另一个类建立父子关系

2)继承类被称为子类或派生类,被继承类叫做父类或基类、超类

3)子类继承父类后,就具有父类公共的成员变量和行为

public class ExtendsDemo5 {    public static void main(String[] args) {        Student s = new Student();        s.run(); // 返回 父类的run方法    }}/** * 父类 */class People {    public void run() {        System.out.println("父类的run方法");    }}/** * 子类 */class Student extends People {}
  • 继承的好处

1)提高代码的复用性

2)增强类的功能性

  • 继承的设计规范

1)子类具有相同特性的功能房子父类中

2)子类独有的成员变量和行为放在子类中

继承的特点

  • 子类可以继承父类的成员变量和行为,但不能继承父类的构造器

1)子类不可以继承父类的构造器

2)子类不可以继承父类的私有成员变量和行为(内存中是继承了关系只是不能访问

3)子类可以直接使用父类的静态成员变量和方法(共享

  • java是单继承模式,一个类只能直接继承一个父类
  • java不支持多继承,但支持多层继承
  • java中所有类都是Object类的子类

1)默认继承Object类

2)要么直接继承,要么间接继承

继承后访问特点

  • 就近原则
  • 如果子类一定要访问父类成员变量和方法,使用关键字super

继承后方法重写

  • 子类出现和父类一模一样的方法声明,这子类方法就是方法重写
  • 私有方法不能被重写
  • 重写方法的权限要和父类一样或大

@Override注解

  • Override注解是放在重写的方法上,作为重写是否正确的校验
class Demo1 {    public void run() {        System.out.println("demo1");    }}class Demo2 extends Demo1 {    @Override    public void run() {        System.out.println("demo2");    }}

继承后构造器特点

  • 子类的全部构造器都先访问父类的无参数构造器
  • 原因:子类可能需要父类的数据,因此需要先初始化父类
  • 实现:子类第一行默认有一个super()方法直接访问父类无参数构造器

this、super关键字说明配图