Java重写与重载:方法的‘改头换面’与‘改头换面’,必分清

Java中方法重载与重写是重要特性,初学者易混淆,核心区别如下: **方法重载(Overload)**:同一类中,方法名相同但参数列表不同(类型、数量或顺序),返回值、修饰符等可不同。目的是同一类中提供多参数处理方式(如计算器add方法支持不同参数相加),仅参数列表决定重载,返回值不同不算重载。 **方法重写(Override)**:子类对父类方法的重新实现,要求方法名、参数列表完全相同,返回值为父类返回值的子类,访问权限不低于父类。目的是子类扩展父类功能(如狗重写动物叫方法),静态方法不可重写(只能隐藏)。 **核心区别**:重载看参数不同(同一类),重写看继承(参数相同)。记住:重载“换参数”,重写“换实现”。

阅读全文
Java super关键字:继承中的父类调用,必学

`super`是Java中用于在子类中访问父类成员的关键字,核心作用是连接子类与父类。 **1. 调用父类构造方法**:子类构造默认先调用父类无参构造(`super()`),若父类无无参构造或需调用有参构造,必须用`super(参数)`显式调用,且**必须放在子类构造首行**,否则编译报错。 **2. 访问父类同名成员变量**:子类与父类变量同名时,默认访问子类变量,用`super.变量名`可明确访问父类变量。 **3. 调用父类被重写的方法**:子类重写父类方法后,默认调用子类方法,用`super.方法名()`可调用父类被重写的方法。 **注意事项**:静态方法中不可用`super`;`super()`必须在子类构造首行;`this()`与`super()`不可同时在构造方法中。 掌握`super`能明确控制子类对父类成员的访问,是理解Java继承的关键。

阅读全文