Java方法參數及其傳遞

方法的參數傳遞通常分爲兩種:值傳遞和引用傳遞。

1.傳入的是基本類型
如果傳入的是基本類型會在棧中分配內存,當按基本類型傳遞時,實參會多複製一份,因此,在方法內修改參數值時不影響原實參。

示例:基本類型傳遞

public class Demo1{
     static int x = 10;
     public static void main(String[] args) {
            Demo1 demo = new Demo1();
            demo.getX(x);
            System.out.println("x="+x);  //x=10;
    }
    public void getX(int x){
            x--;
    }
}

當方法結束之後,穿入的x值會被垃圾回收,但是在方法內部確實是改變的。

2.引用類型傳遞
引用類型傳遞是在棧中聲明,在堆中分配內存,列如:

T t;            //在棧中聲明 
t = new T();    //在堆中分配內存

如果沒有給對象初始化,會報NullPointerException異常,也就是空指針異常,意思就是對象沒有初始化。

當通過“對象名.屬性名”實際上就是每一個對應的堆內存空間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章