UE5 Niagara网格体渲染器入门:零代码实现动态方块雨特效
2026/7/19 19:40:32
继承的核心思想是 “子类继承父类”,即子类(Subclass)通过extends关键字,获得父类(Superclass)的属性和行为(方法),同时可在子类中新增专属属性或重写父类方法,实现功能扩展。这种设计既减少了代码冗余,又让类之间形成清晰的层级关系,便于维护和扩展。
与部分编程语言支持多继承不同,Java 明确规定类只能单继承(一个子类只能有一个直接父类)。这一限制是为了避免多继承带来的 “菱形问题”(多个父类存在同名方法时的歧义),保证代码逻辑的简洁性。若需实现类似多继承的功能,可通过接口组合来弥补。
class 子类名 extends 父类名 {}课程重点强调:创建子类对象时,父类对象会先于子类对象创建。底层流程如下:
super()显式调用父类有参构造);继承在内存中的核心逻辑是 “共享与独立并存”:
继承中最易混淆也最常用的两个概念的是方法重写(Override)和方法重载(Overload),二者本质、规则完全不同,需精准区分。
protected,子类可改为public,但不能改为private);final方法(final修饰的方法不可被修改);move()方法,子类鸟的move()实现 “飞行”,子类狗的move()实现 “奔跑”)。println()方法,支持int、String、boolean等多种参数类型)。| 对比维度 | 方法重写(Override) | 方法重载(Overload) |
|---|---|---|
| 存在范围 | 子类与父类之间 | 同一个类中 |
| 核心条件 | 方法名、参数列表、返回值一致 | 方法名相同,参数列表不同 |
| 访问修饰符 | 子类权限≥父类权限 | 无严格限制 |
| 与继承关系 | 依赖继承 | 可独立存在,也可结合继承 |
super的核心作用是在子类中访问父类的成员,避免子类与父类成员命名冲突:
super(参数),必须放在子类构造方法的第一行;super.父类属性名(当子类有同名属性时使用);super.父类方法名(参数)(当子类重写了父类方法,仍需调用父类原方法时使用)。在继承场景中,this的作用主要是:
this.name = name);this(参数));this.method()表示调用子类自身的方法,而非父类方法)。继承并非孤立存在,它与抽象类、接口的配合是 Java 实现多态和灵活设计的关键:
abstract关键字),强制子类遵循统一的行为规范,同时可包含非抽象方法供子类复用;implements关键字),接口中定义的抽象方法(Java 8 + 后支持默认方法)需实现类全部实现,常用于定义 “行为规范”(如Runnable接口的run()方法)。private)变量和方法,需通过父类提供的public或protectedgetter/setter 方法访问;super(参数)显式调用父类的有参构造,否则编译报错;super访问父类变量;