package com.what21.base04;
/**
* 传值调用和引用调用
*/
public class InvokeTest {
public static void main(String[] args) {
// 传值调用
int i = 99999;
plus(i);
System.out.println("传值调用结果: " + i);
// 包装类型
Integer I = new Integer(99999);
plus(I);
System.out.println("传值调用结果: " + I);
// 字符串类型
String str = "aaa";
plus(str);
System.out.println("传值调用结果: " + str);
// 引用调用
ObjPlus o = new ObjPlus();
o.i = 99999;
o.I = 99999;
o.str = "aaa";
plus(o);
System.out.println("引用调用结果: " + o.i);
System.out.println("引用调用结果: " + o.I);
System.out.println("引用调用结果: " + o.str);
}
/**
* @param i
*/
public static void plus(int i){
i = i + i;
}
/**
* @param i
*/
public static void plus(Integer I){
I = I + I;
}
/**
* @param str
*/
public static void plus(String str){
str = str + str;
}
/**
* @param o
*/
private static void plus(ObjPlus o) {
o.i = o.i + o.i;
o.I = o.I + o.I;
o.str = o.str + o.str;
}
}
class ObjPlus{
public int i;
public Integer I;
public String str;
}