JavaScript中通过extends实现类继承,子类必须在constructor中首行调用super()初始化父类this,可重写方法并用super.调用父类同名方法,静态成员不自动继承但可在子类静态方法中通过super访问。

JavaScript 中通过 extends 关键字实现类继承,核心是让子类复用父类的属性和方法,并支持重写与扩展。关键点在于:子类构造函数中必须调用 super(),且只能在 super() 调用后访问 this。
基础语法:定义父类和子类
使用 class 定义父类,再用 extends 声明子类,即可继承父类的实例方法、静态方法(需显式继承)和 getter/setter:
- 父类方法默认被子类原型继承,无需额外操作
- 子类可直接调用
super.方法名()访问父类同名方法 - 静态方法不会自动继承,但可通过
static+super在子类静态方法中调用父类静态方法
构造函数中必须调用 super()
子类若有自定义 constructor,第一行必须是 super(),用于初始化父类的 this。否则会报错 ReferenceError: Must call super constructor in derived class before accessing 'this':
将后端 Java 接口文档转换为前端 TypeScript 类型定义(interface / type)。输入:飞书文档、Spring Boot 接口文档、Swagger/OpenAPI、手写 API 文档等。输出:包含请求参数与响应结果的 .md 文件,含完整 JSDoc 注释。触发关键词:Java 转 TS、接口转换、生成前端类型、接口文档转 TypeScript、DTO/VO/BO 转 interface、后端文档转前端类型、生成接口类型、类型定义生成。
-
super()相当于执行父类构造函数,把父类初始化逻辑应用到当前实例 - 若父类构造函数需要参数,
super(...args)必须传入对应参数 - 不能在
super()前使用this,哪怕只是读取也不行
方法重写与 super 调用
子类可定义与父类同名的方法来覆盖(重写)父类行为。如需在重写方法中保留父类逻辑,用 super.方法名() 显式调用:
-
super.say()调用父类实例方法 -
super.constructor不可用(super不指向构造函数本身) - 箭头函数中
super无效,因无自己的this绑定
静态成员的继承与访问
静态方法和静态属性不会被自动继承到子类,但子类可通过 super 在静态方法内部调用父类静态成员:
- 子类自身不自动拥有父类
static方法,需手动定义或复制 - 在子类
static方法中,可用super.静态方法名()调用父类静态方法 - 静态属性(ES2022+)同样遵循此规则,
super.静态属性可读取
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










