
方法的签名:方法名和参数列表
一个类中,不可以有两个方法的签名完全相同,即一个类中不可以有两个方法的方法名和参数列表完全一样。
如果一个类的两个方法名字相同,参数列表不同是可以的。
//编译错误
public class Cashier{
public boolean pay(double money){...}
public boolean pay(double money){...}
}
//编译正确
public class Cashier{
public boolean pay(double money){...}
public boolean pay(String cardId,String cardPwd){...}
}
方法重载及其意义

在Java语言中,允许多个方法的名称相同,但参数列表不同,称之为方法的重载(overload)

编译时根据签名绑定调用方法
编译器在编译时会根据签名来绑定调用不同的方法,我们可以把重载的方法看成是完全不同的方法,只不过恰好方法名相同而已。

方法的重载(overload):
1)发生在一个类中,方法名相同,参数列表不同,方法体不同
2)编译器在编译时根据方法的签名自动绑定调用的方法
同一个文件中可以包含多个类
public修饰的类只能有一个
public修饰的类必须与文件名相同
一般情况一个文件只包含一个

重载与返回值类型无关
重载与参数名称无关
package com.example.day01.oop.day02;
import static com.example.day01.day06.MethodDemo.say;
/**
* @author zwp
* 同一个文件中可以包含多个类
* public修饰的类只能有一个
* public修饰的类必须与文件名相同
* 一般情况一个文件只包含一个类
* @description: 重载demo演示
* @date: 2021/3/19 16:14
*/
public class OverLoadDemo {
public static void main(String[] args) {
Aoo aoo = new Aoo();
aoo.say();
aoo.say("zhangsan");
aoo.say(25);
aoo.say(25,"zhangsan");
aoo.say("zhangsan",25);
}
}
//为了方便测试 一个文件中建多个类,正常情况下一个文件下面只有一个类
class Aoo { //测试方法的重载
void say() {
}
void say(String name) {
}
void say(int age) {
}
void say(String name, int age) {
}
void say(int age, String name) {
}
/* //错误示范,方法重载与返回值类型无关
int say(){
return 1;
}*/
/* //错误示范,方法重载与参数名字无关
void say(String address){
}*/
}
想调用类里面的方法,第一步就是声明对象,new 然后引用.方法
示例:
Student st = new Student();
st.name=”znagsan”;
st.age=25;
网友评论