值传递和引用传递
课程代码:
1:值传递:
1 package com.oop.demo01; 2 3 // 值传递 4 public class Demo04 { 5 public static void main(String[] args) { 6 int a=1; 7 Demo04.change(a); 8 System.out.println(a); 9 } 10 11 public static void change(int a){ 12 a = 10; 13 } 14 }
2:引用传递:
1 package com.oop.demo01; 2 3 //引用传递:对象,本质还是值传递 4 public class Demo05 { 5 public static void main(String[] args) { 6 Person person = new Person(); 7 System.out.println(person.name); 8 9 Demo05.change(person); 10 System.out.println(person.name); 11 } 12 13 public static void change(Person person){ 14 person.name = "qinjiang"; 15 } 16 17 } 18 19 class Person{ 20 String name; 21 }
注意点:
1:值传递改变的只是局部变量的结果,并不能改变类变量。
2:引用传递直接改变的是类变量。如果方法改成输出局部变量,也不会改变。

浙公网安备 33010602011771号