方法重载
(Method Overloading)是指在一个类中可以定义多个方法,它们具有相同的名称但有不同的参数列表。方法重载使得在调用同一方法名时,根据不同的参数类型或参数个数,可以执行不同的操作。
以下是方法重载的基本规则:
-
方法名相同: 重载的方法必须具有相同的名称。
-
参数列表不同: 重载的方法必须具有不同的参数列表,这包括参数的类型、个数或顺序。
-
返回类型可以不同: 返回类型可以相同也可以不同。在方法重载中,仅根据返回类型是无法区分不同的方法的。
构造方法
构造方法是一种特殊类型的方法,用于创建和初始化对象。构造方法的名称必须与类名相同,且没有返回类型(甚至没有 void
),因为它的任务就是创建对象。
构造方法在对象被创建时自动调用,通常用于为对象的成员变量赋初值或执行一些初始化操作。每个类可以有一个或多个构造方法,它们可以具有不同的参数列表,从而支持构造方法的重载。
以下是构造方法的基本特点:
- 方法名与类名相同: 构造方法的名称必须与类名完全相同。
- 没有返回类型: 构造方法没有返回类型,甚至没有
void
关键字。 - 自动调用: 构造方法在对象被创建时自动调用,无需手动调用。
- 可重载: 一个类可以有多个构造方法,它们可以有不同的参数列表。
- 用于初始化: 构造方法通常用于为对象的成员变量赋初值或执行一些初始化操作。
public class Car { // 成员变量 private String model; private int year; // 无参构造方法,默认初始化,不写会自动生成 public Car() { model = "Unknown"; year = 0; } // 带参数的构造方法,用于自定义初始化 public Car(String model, int year) { this.model = model; this.year = year; } //构造方法重载,方法名不变,参数顺序改变 public Car(int year,String model) { this.model = model; this.year = year; } public static void main(String[] args) { // 使用无参构造方法创建 Car 对象 Car car1 = new Car(); // 使用带参数的构造方法创建 Car 对象 Car car2 = new Car("Toyota", 2022); } }