Java 基础教程

方法(Method)

什么是方法?

Java 语言的方法相当于其他编程语言中的函数(Function)或者子程序(汇编语言),方法是用来完成相对独立功能的一段代码集合。

Java 语言的方法必须定义在类中,而不允许单独出现。并且,方法只能通过定义该方法的类进行调用。方法的声明不允许出现嵌套,即不允许在一个方法中声明另一个方法。

声明方法的格式如下:

[<修饰符>] <返回值类型> <方法名>([形参列表]) {
    方法体
}

其中:

  • 修饰符:修饰符用来指定当前方法的可见性,如:公共方法、私有方法等

  • 返回值类型:用来指定方法返回值的类型,如:int、boolean等

  • 方法名:方法名起到标识的作用,调用方法时就是通过方法名进行调用。

  • 形参列表:用来指定调用方法时需要传递几个参数,以及这些参数的类型

形参和实参

Java 在声明方法时必须指定方法运行需要的所有参数及类型,而这种参数称为形参。形参只规定了方法所需要参数的数目、类型和参数名称。Java 方法形参列表格式如下:

修饰符 返回值类型 方法名(数据类型1 参数名1, 数据类型2 参数名2, ..., 数据类型n 参数名n)

然而,在实际调用一个方法时,必须提供与形参列表相匹配的数据,称为实参。Java 方法实参列表格式如下:

(参数1, 参数2, ..., 参数n)

注意:实参可以是变量、常量和表达式。但是,实参的数目、类型和出现的顺序必须和相应形参保持一致。

例如:下面 Demo 类中定义了一个 add() 方法,该方法计算两个 int 的和,然后返回结果。Java 代码如下:

public class Demo {
    /** 定义了一个 int 类型的常量 */
    private static final int x = 10;

    public static void main(String[] args) {
        Demo demo = new Demo();
        // 调用方法
        int result = demo.add(10, 20);
        System.out.println("result=" + result);

        // 表达式作为实参
        result = demo.add(5 + 5, 20);
        System.out.println("result=" + result);

        // 常量作为实参
        result = demo.add(x, 20);
        System.out.println("result=" + result);
    }

    /**
     * add 方法指定了两个 int 类型的形参
     * @param x 形参1
     * @param y 形参2
     * @return
     */
    private int add(int x, int y) {
        return x + y;
    }

}

输出结果:

result=30
result=30
result=30

上面代码中,add(int x, int y) 中 x 和 y 是两个 int 类型的形参。而 demo.add(10, 20) 中的 10 和 20 是调用方法的实参。

注意,如果方法没有定义任何形参,那么在调用方法时也需要指定空的小括号(“()”),例如:

// 定义无参方法
public class Demo {
    public int show() {}
}

// 调用无参方法
Demo demo = new Demo();
demo.show();

返回值

返回值是一个方法在执行完成后返还给调用者的结果。在声明方法时必须指定返回值的数据类型,例如:

/**
 * add 方法指定了两个 int 类型的形参
 * @param x 形参1
 * @param y 形参2
 * @return
 */
private int add(int x, int y) {
    // 使用 return 关键字返回数据
    return x + y;
}

上面的 add 方法定义返回值的类型为 int,且方法使用 return 关键字返回 x + y 的计算结果。

如果一个方法没有返回值,则指定为 void,例如:

private void show(int result) {
    System.out.println("result=" + result);
}

上面的 show 方法定义没有返回值。在没有返回值的方法中,可以使用 return 关键字提前返回。例如:

private void show(int result) {
    // 如果小于0,则退出方法
    if(result < 0) {
        return;
    }
    System.out.println("result=" + result);
}

如果在定义为 void 类型的方法中使用 return 方法返回值,则编译失败。

调用方法

调用方法是为了执行方法体中的代码,以实现预期的功能。Java 中调用方法的格式为“对象名.方法名(参数列表)”,例如:int result = demo.add(10, 20)。

通常我们调用一个有返回值的方法时,会接收其返回值进行下一步处理(你也可以忽略方法返回的结果)。当我们调用没有返回值的方法时,不能试图接收和使用其返回值,否则编译不能通过。例如:

public class Demo {
    private static final int x = 10;

    public static void main(String[] args) {
        Demo demo = new Demo();
        // 调用方法
        int result = demo.add(10, 20);
        System.out.println("result=" + result);
    }

    /**
     * add 方法指定了两个 int 类型的形参
     * @param x 形参1
     * @param y 形参2
     * @return
     */
    private int add(int x, int y) {
        return x + y;
    }

}

上面代码中,通过 demo.add() 语句去调用 int add(int x, int y) 方法。执行上面程序,输出结果如下:

result=30
说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号