物件導向 Java形式引數傳遞問題

2021-09-18 06:24:01 字數 719 閱讀 9807

形式引數的問題:

基本型別:形式引數的改變不影響實際引數(int...)

引用型別:形式引數的改變直接影響實際引數

基本型別作為引數傳遞的時候是在乙個方法棧中開闢了一塊新記憶體,拷貝了原來的資料值,所以無論我們如何修改,原來的資料值不會受到任何影響。

public class practice2 

public static void change(int b)

}

首先我們要知道引用的資料儲存在棧記憶體中,而引用指向的物件儲存在堆記憶體中。

當引用作為方法引數傳遞給方法的時候,是將引用的值拷貝乙份給另乙個引用,但引用指向的都是同乙個堆記憶體,所以進行的修改操作同樣有效。

引用型別中,形參能夠改變實參的值,或者乙個引用能夠改變另乙個引用的值,僅僅是因為他們棧記憶體中儲存的值相同,但這個值是隨時可以修改的。

public class practice 

public static void change(a aa) }

class a

}

物件導向之形式引數與返回值問題

1.形式引數為類名時 需要的是該類的物件 程式 如下 class student 5 6 7 class studentdemo11 12 13 class studenttest29 2.形式引數為抽象類時 需要的是該抽象的類子類物件 程式 如下 abstract class person 4 5...

物件導向9 形式引數和返回值問題

形式引數 基本型別 引用型別 類 要的是該類物件 抽象類 要的是該抽象類子類物件 介面 要的是該介面的子類物件 具體類作為形式引數 class student class studentdemo 測試類 public class demo1 輸出 study.study.抽象類作為形式引數 abst...

物件導向 形式引數和返回值的問題

此種型別比較簡單,對實際引數沒有影響 2 引用型別 形式引數是基本類,以 為例 class student class studentdemo 測試類 public class persontest 由於在studentdemo類中,method方法的形式引數是乙個student類 具體類 那麼如何...