天天看点

Java 面向对象 之 引用传递

http://www.verejava.com/?id=16992763271038
/**
    知识点内容: 引用传递
        1. 方法参数引用传递
        2. 对象与对象之间的引用传递
        3. this指针 本对象引用传递
*/
public class Refenrence {
    
    public static void main(String[] args) {
        //实例化 工具类 Utils
        Utils utils = new Utils();

        //定义一个计数器个变量
        int count = 1;
        System.out.println(count);
        utils.increment(count);
        System.out.println(count);

        //定义一个计数器数组变量
        int[] counts = { 1 };
        System.out.println(counts[0]);
        utils.increment(counts);
        System.out.println(counts[0]);

        //定义一个计数器类变量
        Count value = new Count();
        value.setValue(1);
        System.out.println(value.getValue());
        utils.increment(value);
        System.out.println(value.getValue());

    }
}

//建一个工具类
class Utils {
    public void increment(int count) {
        count++;
    }

    public void increment(int[] counts) {
        counts[0]++;
    }

    public void increment(Count count) {
        count.setValue(count.getValue() + 1);
    }
}

class Count {
    private int value;

    public int getValue() {
        return this.value;
    }

    public void setValue(int value) {
        this.value = value;
    }

}