📅  最后修改于: 2023-12-03 15:38:34.531000             🧑  作者: Mango
在Java中,函数被称为方法。方法可以有参数,可以返回一个值或者不返回任何值。当我们定义了一个方法后,我们就可以在程序的其他地方调用它。下面是一些关于如何在Java中调用函数的介绍。
在Java中,定义一个方法需要使用关键字 public
或者 private
(或者没有访问修饰符),表示方法的访问权限。然后是方法的返回值类型,如果方法不返回任何值,返回类型为 void
。然后是方法的名称,之后是方法的参数列表,用括号括起来。最后是方法的体,用一对花括号括起来。下面是一个例子:
public int add(int a, int b) {
return a + b;
}
这个方法的访问权限是 public
,返回类型是 int
,方法名是 add
,参数列表有两个 int
类型的参数 a
和 b
,方法体是一行代码,它把 a
和 b
相加,然后将结果返回。接下来是如何在其他地方调用这个方法。
要调用一个方法,需要知道它的名称和参数列表。如果这个方法是在同一个类中定义的,可以直接使用方法名来调用它。如果这个方法是在其他类中定义的,必须先创建这个类的对象,再使用对象来调用它的方法。下面是一个例子:
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
方法中,我们定义了两个变量 a
和 b
,然后调用了 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中,当我们调用一个方法时,参数的值可以传递给方法。对于基本数据类型,例如 int
,double
,char
,boolean
,在方法中对参数进行修改不会影响到原始值。这是因为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 标识进行格式化,如下: