有关Java继承的相关知识

一、继承概念

  1. 作用:代码复用,子类拥有父类所有非私有成员
  2. 关键字: extends
  3. 格式:

java

class 子类名 extends 父类{}

  1. Java单继承:一个类只能继承一个父类,可多层继承

二、成员访问特点

  1. 成员变量
  • 就近原则:局部 > 子类 > 父类
  • 访问父类变量: super.变量名
  1. 成员方法
  • 优先调用子类重写方法
  1. 构造方法
  • 子类构造默认第一行隐式: super()  调用父类无参构造
  • 父类无无参构造,子类必须手动写 super(有参)

三、super 关键字

1.  super.成员变量 :访问父类成员变量
2.  super.成员方法() :调用父类方法
3.  super() :调用父类无参构造
4.  super(参数) :调用父类有参构造
5. 必须放在构造第一行

四、方法重写(Override)

  1. 条件
  • 子类和父类方法名、参数列表、返回值一致
  • 权限:子类权限 ≥ 父类(private不能重写)
  1. 注解: @Override  校验重写正确性
  2. 用途:子类改写父类原有功能

五、权限修饰符(继承范围)

1.  private :本类可用 继承不可用
2. 默认(空):同包可用
3.  protected :同包 + 不同包子类可用
4.  public :全工程任意用

六、this 和 super 区别

  • this :代表当前子类对象
  • super :代表父类对象引用
  • this() :调用本类构造
  • super() :调用父类构造

七、final 与继承

1.  final 类 :不能被继承
2.  final 方法 :不能被重写
3.  final 变量 :常量不可修改

八、抽象类 abstract

1.  abstract class  抽象类,不能new对象
2.  abstract 方法 :无方法体,子类必须重写
3. 有抽象方法 → 类必须抽象
4. 抽象类可以有普通方法、构造

九、继承经典代码示例

java

//父类
class Person{
String name;
public void sleep(){
System.out.println("睡觉");
}
}
//子类继承
class Student extends Person{
//重写
@Override
public void sleep(){
super.sleep();//调用父类
System.out.println("学生睡觉");
}
}

十、向上转型&向下转型

  1. 向上转型(自动):父类引用指向子类
     Person p = new Student();
  2. 向下转型(强制):转回子类
     Student s = (Student)p;
  3. 判断类型: instanceof
posted @ 2026-05-17 21:41  李伯韬  阅读(10)  评论(0)    收藏  举报