JAVA 传值问题

 1 public class dsasdadsa {
2
3 /**
4 * 这个例子足以证明当参数是类的话直接改变的将是这个类的本体,也就是传递的是一个类的地址
5 * 当参数是一些基本的数据类型时传递的也只是一个值!
6 * @param args
7 */
8 public static void main(String[] args) {
9 // TODO Auto-generated method stub
10 int pp = 0;
11 MM m = new MM();
12 System.out.println(m.a);
13 PP p = new PP();
14 p.cc(m);
15 System.out.println(m.a);
16 }
17
18 }
19
20 class MM{
21 public int a = 0;
22 public void change(){
23 a = a+1;
24 System.out.println(a);
25 }
26 }
27
28
29 class PP {
30 public void cc (MM m){
31 m.change();
32 }
33 }

效果

JAVA传值类 传的是类的地址!  所以你对类进行操作将使得原先的做出相应的变化!而 今本的数据类型 则什么也不改变!

原文地址:https://www.cnblogs.com/Acmen/p/2199735.html