专业编程基础技术教程

网站首页 > 基础教程 正文

Java学习:基础(继承)(java继承的规则是什么)

ccvgpt 2024-07-28 12:23:04 基础教程 5 ℃

继承的概述

  • 什么继承

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

Java学习:基础(继承)(java继承的规则是什么)

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()方法直接访问父类无参数构造器

Tags:

最近发表
标签列表