Java学习Day10
今天学习Java的构造方法、方法重载与重写
- 构造方法(Constructor)
作用:创建对象时初始化成员变量。
特点:
方法名与类名相同,无返回类型(连void都没有)。
可重载(参数列表不同)。
默认存在无参构造,但若定义了有参构造,则需显式声明无参构造。
eg:public class Person {
private String name;
public Person() {} // 无参构造
public Person(String name) { this.name = name; } // 有参构造
} - 方法重载(Overloading)
定义:在同一类中,多个方法同名但参数列表不同(参数类型、个数或顺序)。
用途:提供相似功能的不同实现方式。
eg:public class Calculator {
public int add(int a, int b) { return a + b; }
public double add(double a, double b) { return a + b; } // 参数类型不同
} - 方法重写(Overriding)
定义:子类重新实现父类的虚方法(非final、非private、非static)。
规则:
方法签名(返回值、方法名、参数)必须相同(子类返回值可为父类返回值的子类,即协变返回)。
访问权限不能更严格(如父类protected,子类可为public)。
抛出异常范围不能扩大。
用途:实现多态,允许子类定制父类行为。
eg:class Animal {
public void speak() { System.out.println("Animal speaks"); }
}
class Dog extends Animal {
@Override
public void speak() { System.out.println("Dog barks"); } // 重写父类方法
}
浙公网安备 33010602011771号