一个类中可以有多个构造方法,方法名相同,参数列表不同,这叫构造方法的重载
事实上,不单单只有构造方法能重载,对于普通方法来说,也一样能构成重载。
事实上,重载的方法由于其参数列表的不同,根本上就是不同的方法;重载的方法除了名称相同之外,与普通的方法没有什么区别,方法重载是java最激动人心和最有用的特征之一。
代码如下:
public class Human {
String hName;
//无参构造方法
Human(){
System.out.println("创建人类对象,默认姓名为路人甲!");
hName = "路人甲";
}
//带参数构造方法
Human(String name){
System.out.println("创建人类对象,由调用者自行指定姓名!");
hName=name;
}
//吃饭,午餐
void eat() {
System.out.println(hName+"说:我使用筷子吃饭!");
}
//吃饭,可以指定工具
void eat(String tool) {
System.out.println(hName+"说:我使用"+tool+"吃饭!");
}
}
public class HumanTest {
public static void main(String[] args) {
//使用无参构造方法创建人类对象,并调用无参eat()方法
Human h1 = new Human();
h1.eat();
//使用了另外一条生产线,并指定吃饭工具
Human h2 = new Human("Jack");
h2.eat("刀和叉");
}
}
运行程序,结果如下图
方法重载是让类以统一方式处理不同类型数据的一种手段,其表现为多个同名函数同时存在,具有不同参数个数/类型,重载是类中多态性的一种表现。
调用方法时通过传递给他们的不同参数个数和参数类型来决定具体使用哪个方法,这就是多态性。重载的时候,方法名要一样,但是参数类型的个数不一样,返回值类型可以相同也可以不相同,但无法以返回值类型作为是不是重载方法的区分标准.