Java学习,重载(Overload)
Java中,重载(Overload)是指同一个类中,可以有多个方法有相同的名称,但这些方法的参数列表必须不同。参数列表的不同可以体现在参数的个数、参数的类型或者参数的顺序上。重载使得一个类可以以多种方式被调用,提高了代码的灵活性和可读性。
方法名称相同:
重载的方法必须具有相同的名称。这是重载的基本要求。
参数列表不同:
重载的方法必须有不同的参数列表。这可以是参数的数量不同、参数的类型不同,或者参数的顺序不同。
返回类型可以相同:
重载的方法可以有相同的返回类型,也可以有不同的返回类型。返回类型不是重载的区分条件。
访问修饰符可以不同:
重载的方法可以有不同的访问修饰符,但这通常不是重载的主要原因。访问修饰符的变化不会影响方法的重载。
异常处理可以不同:
重载的方法可以声明抛出不同的异常,但这也不是重载的区分条件。异常处理的变化不会影响方法的重载。
static和final方法与重载:
static方法和final方法都可以被重载。static方法属于类,而final方法只是不能被重写(在子类中),但它们在同一个类中仍然可以被重载。
示例:
class Calculator {
// 重载方法add,用于两个整数相加
public int add(int a, int b) {
return a + b;
}
// 重载方法add,用于三个整数相加
public int add(int a, int b, int c) {
return a + b + c;
}
// 重载方法add,用于两个浮点数相加
public double add(double a, double b) {
return a + b;
}
// 重载方法add,用于两个字符串连接
public String add(String a, String b) {
return a + b;
}
// 这不是重载,因为参数列表与第一个add方法相同
// public int add(int a, int b) {
// return a * b; // 错误:方法已存在
// }
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println(calc.add(2, 3)); // 输出: 5
System.out.println(calc.add(2, 3, 4)); // 输出: 9
System.out.println(calc.add(2.5, 3.5)); // 输出: 6.0
System.out.println(calc.add("Hello, ", "world!")); // 输出: Hello, world!
}
}
原文地址:https://blog.csdn.net/xuann/article/details/144043012
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!