前言
本篇文章介绍 Java 成员方法调用机制、 Java 成员方法的传参机制以及Java 的递归调用
一、Java成员方法调用机制
方法定义时的参数称为形式参数,简称形参;方法调用时的传入参数称为实际参数,简称实参。
方法之中不能再定义方法。
二、Java成员方法的传参机制
1. 基本数据类型的传参机制
观察下面代码中输出的 a 和 b 的值
public class method{
public static void main(String[] args){
int a = 10;
int b = 20;
AA obj = new AA();
obj.swap(a,b);
System.out.println(a + " " + b); //a = 10 b= 20
}
}
class AA{
public void swap(int a,int b){
System.out.println(a + " " + b); //a = 10 b = 20
int tmp = a;
a = b;
b = tmp;
System.out.println(a + " " + b) //a = 20 b = 10
}
}
2. Java 引用数据类型的传参机制
观察代码输出
public class method{
public static void main(String[] args){
B b = new B();
int[] arr = {1, 2, 3};
b.test100(arr);
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + "\t"); // 200 2 3
}
System.out.println();
//测试
Person p = new Person();
p.name = "jack"
p.age = 10;
b.test200(p);
//如果 test200执行的是 p = null,下面的结果是 10 (p = null 只是将p的连接或者指针斩断,对象依然存在)
System.out.println(p.age); //1000
}
}
class Person{
String name;
int age;
}
class B{
public void test100(int[] arr){
arr[0] = 200; //修改元素
//遍历数组
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + "\t"); // 200 2 3
}
System.out.println();
}
public void test200(Person p){
p.age = 1000;
}
}