Java基础之方法和方法的重载详解
方法是Java程序中最基本的组成部分之一。“方法”的英文名为“Method”,也可以被称为“函数(Function)”或者“子程序(Subroutine)”。方法装有的代码块可以被多次调用,使得程序模块化,更加易于理解、调试和维护。
什么是Java方法?
Java方法是一组相关语句的集合,能够一次性执行多个语句。方法是一种特殊的函数,它用于让程序能够重复使用某段代码逻辑。一个方法通常由一个方法头和方法体组成。
方法头
Java方法的头部描述了方法的定义信息,也称为“方法声明”,它由5个部分组成:
- 访问修饰符:public、protected和private(默认值为default);
- 返回值类型:可以是任何Java数据类型或者“void”;
- 方法名称:必须是唯一的,要符合Java标识符命名规则;
- 参数列表:用于接收方法的输入值,可以是一个或多个,以逗号分隔;
- 异常声明:方法可能抛出异常,声明方法可抛出的异常类型,可以是一个或多个,以逗号分隔。
以下是一个典型的Java方法头的定义:
public static int methodName(int parameter1, String parameter2) throws Exception {
// method body
}
方法体
方法体是Java方法的实现部分,它包括了一组语句,以及在方法被调用时执行的算法。方法体必须包含在大括号“{ }”中,并被放在Java方法头的后面,如下所示:
public static void methodName() {
// 方法体
System.out.println("Hello, World!");
}
该例子中,我们使用了一个叫做“System.out.println()”的Java方法,用于在屏幕上打印出一行字符串。
Java方法的重载
Java方法可以使用相同的名称,只要它们具有不同的参数列表,就被称为“重载方法”。也就是说,方法重载可以让程序员在不改变方法名称的前提下,根据参数的不同调用不同的方法。
在Java中,方法重载的方法名相同,但参数列表必须不同,它们必须有不同的类型和/或数量,或者是具有不同的形参名次序,但形式参数的类型和顺序不能改变。
以下是“方法重载”的一个简单实例:
public class OverloadDemo {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
在上例中,我们使用了两个不同的“add()”方法,分别接收两个“int”参数,和两个“double”参数。这两个方法之所以能够同时存在,是因为方法名相同,但方法的参数类型/数量是不同的。在调用时,系统能够选择正确的方法来执行。
方法和方法重载的例子
第一个例子
public class Calculation {
public int add(int a, int b) { //第一个add方法
return a + b;
}
public int add(int a, int b, int c) { //第二个add方法
return a + b + c;
}
}
这里定义了两个add方法,分别接收两个参数和三个参数,分别进行加法运算,最终得出结果。通过这个示例,我们可以看到方法重载的优势:在同一个类中,可以定义多个方法,使用相同的名称完成不同的任务。
第二个例子
public class Overload {
public void keepPrint(char a) { //第一个keepPrint方法
System.out.println(a);
}
public void keepPrint(String s, int b) { //第二个keepPrint方法
for (int i = 0; i < b; i++) {
System.out.print(s);
}
System.out.println();
}
public void keepPrint(String s) { //第三个keepPrint方法
System.out.println(s);
}
}
public class TestOverload {
public static void main(String[] args) {
Overload o = new Overload();
o.keepPrint('A'); //使用第一个keepPrint方法
o.keepPrint("PERL", 3); //使用第二个keepPrint方法
o.keepPrint("JAVA"); //使用第三个keepPrint方法
}
}
在这个示例中,我们看到了三个名字相同的不同的“keepPrint()”方法。所执行的任务不同:第一个方法用于打印一个字符,第二个方法用于打印多个字符串,第三个方法则用于打印一个字符串。在主方法中,通过参数的不同,我们能够调用不同的方法来执行不同的任务。
总结
方法是Java程序中非常重要的一部分,这些方法可以完成各种任务。Java方法可以重载,这意味着可以在同一个类中定义多个方法,只要它们的参数列表不同。如此一来,程序员能够使用相同的名称完成不同的任务,这极大地提高了代码的复用性,并使程序更加可读、可维护和可扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基础之方法和方法的重载详解 - Python技术站