自学内容网 自学内容网

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)!