📜  如何在java中调用函数(1)

📅  最后修改于: 2023-12-03 15:38:34.531000             🧑  作者: Mango

如何在Java中调用函数

在Java中,函数被称为方法。方法可以有参数,可以返回一个值或者不返回任何值。当我们定义了一个方法后,我们就可以在程序的其他地方调用它。下面是一些关于如何在Java中调用函数的介绍。

定义方法

在Java中,定义一个方法需要使用关键字 public 或者 private(或者没有访问修饰符),表示方法的访问权限。然后是方法的返回值类型,如果方法不返回任何值,返回类型为 void。然后是方法的名称,之后是方法的参数列表,用括号括起来。最后是方法的体,用一对花括号括起来。下面是一个例子:

public int add(int a, int b) {
    return a + b;
}

这个方法的访问权限是 public,返回类型是 int,方法名是 add,参数列表有两个 int 类型的参数 ab,方法体是一行代码,它把 ab 相加,然后将结果返回。接下来是如何在其他地方调用这个方法。

调用方法

要调用一个方法,需要知道它的名称和参数列表。如果这个方法是在同一个类中定义的,可以直接使用方法名来调用它。如果这个方法是在其他类中定义的,必须先创建这个类的对象,再使用对象来调用它的方法。下面是一个例子:

public class Main {
    public static void main(String[] args) {
        int a = 1, b = 2;
        int sum = add(a, b); // 调用 add 方法
        System.out.println(sum); // 输出 3
    }

    public static int add(int a, int b) {
        return a + b;
    }
}

这个例子中,我们定义了一个 Main 类,其中有一个名为 add 的方法和一个名为 main 的方法。在 main 方法中,我们定义了两个变量 ab,然后调用了 add 方法,并将结果保存在 sum 变量中。最后,我们使用 System.out.println 方法输出了 sum 的值。

在这个例子中,add 方法是在同一个类中定义的,所以我们可以直接使用 add 方法的名称来调用它。如果这个方法是在其他类中定义的,我们需要先创建一个对象,再使用这个对象来调用方法。下面是一个例子:

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator calculator = new Calculator(); // 创建一个 Calculator 对象
        int a = 1, b = 2;
        int sum = calculator.add(a, b); // 调用 calculator 对象的 add 方法
        System.out.println(sum); // 输出 3
    }
}

在这个例子中,我们定义了一个名为 Calculator 的类,其中有一个名为 add 的方法。在 Main 类中,我们首先创建了一个 Calculator 对象,然后使用这个对象来调用 add 方法,并将结果保存在 sum 变量中。

值传递和引用传递

在Java中,当我们调用一个方法时,参数的值可以传递给方法。对于基本数据类型,例如 intdoublecharboolean,在方法中对参数进行修改不会影响到原始值。这是因为Java使用的是值传递(pass by value)。

当我们使用对象作为方法的参数时,对象实际上传递的是这个对象的引用。如果在方法中修改了对象的状态,这些改变会被保留下来,并且对原始对象的状态产生影响。这是因为Java使用的是引用传递(pass by reference)。

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

public class Main {
    public static void main(String[] args) {
        Person person = new Person("Jack");
        changeName(person);
        System.out.println(person.getName()); // 输出 John
    }

    public static void changeName(Person person) {
        person.setName("John");
    }
}

在这个例子中,我们定义了一个名为 Person 的类,其中有一个名为 name 的属性。在 Main 类中,我们首先创建了一个 Person 对象,名为 person,然后调用了一个名为 changeName 的方法,并将 person 对象作为参数传递给它。在 changeName 方法中,我们修改了 person 对象的 name 属性的值。最后,我们使用 System.out.println 方法输出了 person 对象的 name 属性的值,发现其值已经被修改为 "John"。这就是因为传递给 changeName 方法的是 person 对象的引用,引用指向的是同一个对象,所以对其 name 属性的修改会被保留下来。

总结

在Java中,调用方法需要知道方法的名称和参数列表。如果方法是在同一个类中定义的,可以直接使用方法名来调用它。如果方法是在其他类中定义的,必须先创建这个类的对象,再使用对象来调用它的方法。

当方法的参数是基本数据类型时,使用的是值传递,对参数的修改不会影响到原始值。当方法的参数是对象时,使用的是引用传递,对参数的修改会影响到原始对象的状态。

代码已经按 markdown 标识进行格式化,如下: