重载不等同于重写:方法的重写发生在父类与子类中,而重载发生在本类;重载的方法名必须相同,重写的方法名相同且返回值类型必须相同;重载的参数列表不同,重写的参数列表必须相同。
方法重载的定义是如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。
对于定义我们可以有以下的理解:
main
方法也可以被重载方法重载例子如下:
public class Person { String name; //name字段 int age; //age字段 public Person(){ //无参构造方法,命名与类名一致 this.name = "Jack"; this.age = 18; } public Person(String name){ //重载 构造方法1(含一个参数name) this.name = name; this.age = 18; } public Person(String name, int age){ //重载 构造方法2(含两个参数name,age) this.name = name; this.age = age; } public static void main(String[] args) { Person mine = new Person(); //创建对象引用mine,此时调用 无参构造方法 Person he = new Person("Lucy"); //创建对象引用he,此时调用构造方法1 Person anybody = new Person("Helen", 3); //创建对象引用anybody,此时调用构造方法2 System.out.println("My name is " + mine.name + " and age is " + mine.age); //输出mine对象的字段 System.out.println("His name is " + he.name + " and age is " + he.age); //输出he对象的字段 System.out.println("Your name is " + anybody.name + " and age is " + anybody.age); //输出anybody的字段 } }