方法重载
类中的任何方法均允许被重载(Overloading),即一个类中可以有多个方法具有相同的名字,但这些方法参数不相同。
参数不相同具体体现为:参数的个数不同,或者参数的类型不同。
方法的返回值类型和参数的名字不参与比较。
java系统通过传递给它的参数个数和类型来分辨具体是哪一个方法。
方法重载应用举例。
package chongzai;//方法重载073页
public class Ex_5_3
{
public static void main(String[] args)
{
Student s1,s2;
s1=new Student();
s2=new Student();
s1.setInfo("赵强","201000000","山西太原");
s2.setInfo(23.5f,"68726582");
s2.getInfo(23.5f);
s1.getInfo("山西太原");
}
}
class Student//学生类
{
public String name;
public String studentID;
public String address;
public String mobilePhone;
protected String major;
private float gpa; //平均成绩点数
public void register(){}
//获得平均成绩点数
public float getgpa()
{
return gpa;
}
//修改平均成绩点数
public void setgpa()
{
gpa=23.5f;
}
public void setInfo(String n,String ID)
{
name=n;
studentID=ID;
}
public void setInfo(String n,String ID,String add)
{
name=n;
studentID=ID;
address=add;
}
public void setInfo(float g,String ID)
{
gpa=g;
studentID=ID;
}
public void getInfo(float g)
{
System.out.println("学号:"+studentID+"\t平均成绩点数:"+g);
}
public void getInfo(String add)
{
System.out.println("学号:"+studentID+"\t姓名:"+name+"\t地址"+add);
}
}
运行结果如下:
上述程序段中:setInfo()方法 出现了方法重载,java自动根据传入的参数来判断调用哪个具体的方法。同理,getInfo()也是方法重载。