鍍金池/ 教程/ Java/ Java按值調(diào)用和引用調(diào)用
Java for循環(huán)
Java接口
Java是什么?
Java命名約定
java中方法重載和方法重寫的區(qū)別
Java運(yùn)算符
Java抽象類
Java快速入門
Java實(shí)例初始化程序塊
Java靜態(tài)綁定和動(dòng)態(tài)綁定
Java do-while循環(huán)
Java對(duì)象克隆
Java Object類
Java聚合
Java繼承
Java this關(guān)鍵字
Java虛擬機(jī)內(nèi)部體系結(jié)構(gòu)
Java構(gòu)造器(構(gòu)造方法)
Eclipse安裝和配置
Java多態(tài)
Java方法重載
Java while循環(huán)
Java教程
Java按值調(diào)用和引用調(diào)用
Java strictfp關(guān)鍵字
Java封裝
Java語言特點(diǎn)
Java數(shù)組
Java instanceof運(yùn)算符
Java包裝類
Java命令行參數(shù)
Java包
Java面向?qū)ο螅∣OP)概念
簡單Java程序
Java基礎(chǔ)實(shí)例程序
Java對(duì)象和類
Java continue語句
Java抽象類和接口的區(qū)別
C++ VS Java比較
Java if/else語句
Java switch語句
Java歷史
Java變量和數(shù)據(jù)類型
安裝Java環(huán)境(Linux)
Java JDK安裝和配置
Hello Java程序的內(nèi)部細(xì)節(jié)
Java break語句
Java方法重寫
Java Unicode編碼系統(tǒng)
怎么樣開始學(xué)習(xí)Java編程?
對(duì)象和類之間的區(qū)別
Java訪問修飾符
Java super關(guān)鍵字
Java注釋
JDK,JRE和JVM之間的區(qū)別
Java final關(guān)鍵字
Java static關(guān)鍵字

Java按值調(diào)用和引用調(diào)用

在java中只有通過值調(diào)用,而不是通過引用調(diào)用。 如果要調(diào)用一個(gè)傳遞值的方法,則稱為按值調(diào)用。 在被調(diào)用方法中完成的更改,在調(diào)用方法的外部不受影響。

在java中通過值調(diào)用的示例

在值調(diào)用的情況下,原始值不改變。 看看下面一個(gè)簡單的例子:

class Operation {
    int data = 50;

    void change(int data) {
        data = data + 100;// changes will be in the local variable only
    }

    public static void main(String args[]) {
        Operation op = new Operation();

        System.out.println("before change " + op.data);
        op.change(500);
        System.out.println("after change " + op.data);

    }
}

在執(zhí)行上面示例代碼后,得到以下結(jié)果 -

before change 50
after change 50

在java中通過值調(diào)用的另一個(gè)示例

在通過引用調(diào)用的情況下,如果在被調(diào)用的方法中做出的改變,則會(huì)改變?cè)贾怠?如果通過對(duì)象代替任何原始值,原始值將被改變。 在這個(gè)例子中,我們將對(duì)象作為值傳遞。 我們來看看下面的一個(gè)簡單例子:

class Operation2 {
    int data = 50;

    void change(Operation2 op) {
        op.data = op.data + 100;// changes will be in the instance variable
    }

    public static void main(String args[]) {
        Operation2 op = new Operation2();

        System.out.println("before change " + op.data);
        op.change(op);// passing object
        System.out.println("after change " + op.data);

    }
}

在執(zhí)行上面示例代碼后,得到以下結(jié)果 -

before change 50
after change 150