什么是方法
方法的定義和呼叫
值傳遞與參考傳遞
值傳遞:指的是在方法呼叫時,傳遞的是引數是按值的拷貝傳遞,
特點:傳遞的是值的拷貝,也就是傳遞后就互不相關了,
參考傳遞:指的是在方法呼叫時,傳遞的引數是按參考進行傳遞,其實傳遞的是參考的地址,也就是變數所對應的記憶體空間的地址,
特點:傳遞的是值的參考,也就是說傳遞前和傳遞后都指向同一個參考(也就是同一個記憶體空間),
Java中資料型別分為兩大類,基本型別和物件型別,相應的,變數也有兩種型別:基本型別和參考型別,
基本型別的變數保存原始值,即它代表的值就是數值本身;
而參考型別的變數保存參考值,"參考值"指向記憶體空間的地址,代表了某個物件的參考,而不是物件本身,
物件本身存放在這個參考值所表示的地址的位置,
基本型別包括:byte,short,int,long,char,float,double,Boolean,returnAddress,
參考型別包括:型別別,介面型別和陣列,
其中比較特殊一點的是String型別和基本型別的包裝型別別,它們也是按值傳遞的,但它是屬于參考型別
基本型別,值就直接保存在變數中,而String是參考型別,變數中保存的只是實際物件的地址,一般稱這種變數為"參考",參考指向實際物件,實際物件中保存著內容
事實上,java里面引數傳遞只有值傳遞一種,因為參考傳遞可以相當于傳遞的是參考值,至于參考值是什么,我們可以類比C語言得指標變數,它存放的也是一段記憶體空間的地址,在不同方法之間,看似傳遞的是一個物件,但其實物件的位置并沒有動,只是將存放物件的記憶體地址進行了傳遞,這樣當改變物件的一些屬性時,也會的的確確改變堆記憶體中物件的某些屬性值
方法的多載
命令列傳遞引數
可變引數
public class Demo02 {
public static void main(String[] args) {
Demo02 demo02 = new Demo02();
demo02.test(1);
}
public void test(int x,int... i){
System.out.println(i[0]);
}
}
遞回
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/263651.html
標籤:Java
