方法重载
在一个类中,如果有一系列方法功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。
方法名相同,但各自的参数不同,称为方法重载(Overload)
注意:方法重载的返回值类型通常都是相同的。
方法重载的目的是,功能类似的方法使用同一名字,更容易记住,因此,调用起来更简单。
例如,在Hello类中,定义多个hello()方法:
class Hello {
public void hello() {
System.out.println("Hello, world!");
}
public void hello(String name) {
System.out.println("Hello, " + name + "!");
}
public void hello(String name, int age) {
if (age < 18) {
System.out.println("Hi, " + name + "!");
} else {
System.out.println("Hello, " + name + "!");
}
}
}
改正成功:在抽象方法定义的时候,若有参数,则一定要在参数类型后面加上参数的名称!
练习:
public class Main {
public static void main(String[] args) {
person ming = new person();
ming.setName("Xiao Ming");
System.out.println(ming.getName());
person hong = new person();
// FIXME: 给Person增加重载方法setName(String, String):
hong.setName("Xiao", "Hong");
System.out.println(hong.getName());
}
}
class person{
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name=name;
}
public void setName(String a,String b) {
this.name=a+" "+b;
}
}