本节目标:
掌握方法重载的定义及使用
课程导入:
public void run(){
System.out.println("小狗跑的很快");
}
public void run(){
System.out.println("小狗跑的很快");
}
阅读以上代码。例如:当我们在一个类中定义同名方法时,会提示”run()’ is already defined in ****“。
那为什么我们上一小节中可以定义多个构造方法呢?
//无参构造方法
public Dog(){}
//带参构造方法(两个参数)
public Dog(String name,String sex){
this.name = name;
this.sex = sex;
}
//带参构造方法
public Dog(String name,String sex,int age){
this.name = name;
this.sex = sex;
this.age = age;
}
其实上面我们定义的构造方法进行了方法重载。
方法重载:
指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
方法重载的判断依据:
·在同一个类中
·方法名相同
·参数数据类型或参数个数不同
·与返回值、访问修饰符无关
举例:Scanner类中的方法重载。
方法重载的好处:
它允许相关的方法可以使用同一个名字来访问。
例如让小狗进行自我介绍,可以都使用Say()这个方法,进行重载后,在方法体内进行不同的自我介绍。
public void say(String name,String age){
System.out.println("我叫"+name+",今年"+age+"岁了");
}
public void say(String name,String sex,String address){
System.out.println("我叫"+name+",是一只小"+sex+"狗,我住在"+address);
}
课堂练习:
在Teacher类和Student类中分别将其中某个方法进行重载,并在测试类中实例化对象,调用重载方法。