首页 > 编程笔记

Java方法重载(小白必读)

为了体现设计的优雅性,Java 支持方法的重载(Override)。

所谓方法重载,是指在一个类中可以定义多个方法名相同但参数不同的方法。在调用时,会根据不同的参数自动匹配对应的方法。

重载的方法是完全不同的方法,只是方法名相同。

参数不同又分为两种情况:
另外,值得注意的是,只有返回值不同不构成方法的重载,如 int a(String str){} 与 void a(String str){} 不构成方法的重载。只是形参的名称不同,也不是方法的重载,如 int func(String str){} 与 int func(String s){} 不构成方法的重载。

构造方法的重载和本节讨论的非构造方法的重载基本相似,构造方法的名称就是类的名称。为了使系统能区分不同的构造方法,多个构造方法的参数列表必须不同。

【实例】使用方法的重载实现不同的功能。
public class Test { 
    // 下面定义两个speak()方法,这两个方法的参数列表是不同的 
    public void speak(int i) { 
        System.out.println("重载的方法,输出整数:" + i); 
    } 
 
    public void speak(String str) { 
        System.out.println("重载的方法,输出字符串:" + str); 
    } 
 
    public static void main(String[] args) { 
        Test overload = new Test(); 
        // 调用speak()方法,实参是整型数据 
        overload.speak(20);   
        // 调用speak()方法,实参是字符串 
        overload.speak("hello world!"); 
    } 
}
运行结果为:

重载的方法,输出整数:20
重载的方法,输出字符串:hello world!

推荐阅读