Java面向對象(OOP)概念
Java面向對象(OOP)概念
Java命名約定
Java對象和類
Java構造器(構造方法)
Java static關鍵字
Java this關鍵字
Java繼承
Java聚合
Java方法重載
Java方法重寫
Java super關鍵字
Java實例初始化程序塊
Java final關鍵字
Java多態
Java靜態綁定和動態綁定
Java instanceof運算符
Java抽象類
Java接口
Java抽象類和接口的區別
Java包
Java訪問修飾符
Java封裝
Java Object類
Java對象克隆
Java數組
Java包裝類
Java按值調用和引用調用
Java strictfp關鍵字
Java命令行參數
對象和類之間的區別
java中方法重載和方法重寫的區別
Java按值調用和引用調用
在java中只有通過值調用,而不是通過引用調用。 如果要調用一個傳遞值的方法,則稱爲按值調用。 在被調用方法中完成的更改,在調用方法的外部不受影響。
在java中通過值調用的示例
在值調用的情況下,原始值不改變。 看看下面一個簡單的例子:
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);
}
}
在執行上面示例代碼後,得到以下結果 -
before change 50
after change 50
在java中通過值調用的另一個示例
在通過引用調用的情況下,如果在被調用的方法中做出的改變,則會改變原始值。 如果通過對象代替任何原始值,原始值將被改變。 在這個例子中,我們將對象作爲值傳遞。 我們來看看下面的一個簡單例子:
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);
}
}
在執行上面示例代碼後,得到以下結果 -
before change 50
after change 150