值传递(形参传递的是基本数据类型):
参数在传递过程中仅传的是复制过的值,参数本身并没有改变
- public class TempTest {
- private void test1(int a){
- a = 5;
- System.out.println("test1方法中的a="+a);
- }
- public static void main(String[] args) {
- TempTest t = new TempTest();
- int a = 3;
- t.test1(a);//传递后,test1方法对变量值的改变不影响这里的a
- System.out.println(”main方法中的a=”+a);
- }
- }
-
- //test1中的结果为5
- //main方法中的结果为3 也就是说main中的t.test1(a)操作不影响a本身的值
引用传递(形参传递的是引用数据类型):
参数在传递的过程中就是传递的参数本身,更改就是本身
- public class TempTest {
- private void test1(A a){
- a.age = 20;
- System.out.println("test1方法中的age="+a.age);
- }
- public static void main(String[] args) {
- TempTest t = new TempTest();
- A a = new A();
- a.age = 10;
- t.test1(a);
- System.out.println(”main方法中的age=”+a.age);
- }
- }
- class A{
- public int age = 0;
- }
-
- //test1方法中的age=20
- //main方法中的age=20