可以实现重载
实际上就是在一个类中多个重名的方法参数列表的个数不同或参数类型不同或参数的顺序不同。
- 参数列表个数不同
public int sum(int a, int b) {
return a + b;
}
public int sum(int a, int b, int c) {
return a + b + c;
}
- 参数类型不同
public int sum(int a, int b) {
return a + b;
}
public double sum(double a, double b) {
return a + b;
}
- 参数顺序不同
public double sum(int a, double b) {
return a + b;
}
public double sum(double a, int b) {
return a + b;
}
不能实现重载
方法的重载与参数的名称和返回值的类型无关。
- 与参数的名称无关
//=== 编译会报错
public int sum(int a, int b) {
return a + b;
}
public int sum(int x, int y) {
return a + b;
}
- 与返回值类型无关
//=== 编译会报错
public int sum(int a, int b) {
return a + b;
}
public double sum(int a, int b) {
return a + b;
}
特殊
这样也是重载。
public void hello() {
System.out.println("你好");
}
public void hello(String name) {
System.out.println(name + "你也好");
}