摘要:方法參數(shù)方法得到的都是所有參數(shù)值的拷貝,方法不能修改傳遞給它的任何參數(shù)變量的內(nèi)容。很容易得知,一個方法不可能改變一個基本數(shù)據(jù)類型的參數(shù),下面討論參數(shù)的對象的情況。方法結(jié)束之后,不再使用。但是執(zhí)行完該方法后,和所引用的對象并沒有改變。
方法參數(shù)
方法得到的都是所有參數(shù)值的拷貝,方法不能修改傳遞給它的任何參數(shù)變量的內(nèi)容。
參數(shù)共有兩種類型:
基本數(shù)據(jù)類型
對象引用
除了基本數(shù)據(jù)類型的都是對象引用,包括數(shù)組等等。
很容易得知,一個方法不可能改變一個基本數(shù)據(jù)類型的參數(shù),下面討論參數(shù)的對象的情況。
下面這個方法可以將一個雇員的薪金提高兩倍
public static void tripleSalary(Employee x) { x.raiseSalary(200); }
當調(diào)用
harry = new Employee(...); tripleSalary(harry);
時,執(zhí)行過程如下:
x被初始化為harry值的拷貝,x是對象的引用。x和harry同時指向相同的對象。
raiseSalary方法應(yīng)用于這個對象引用。x和harry同時引用的那個Employee對象的薪金提高了200%。
方法結(jié)束之后,x不再使用。harry繼續(xù)引用那個增長了薪金的對象
Java中都是值傳遞,而不是引用傳遞下面這個方法用來交換兩個雇員對象(其實做不到):
public static void swap(Employee x, Emploee y)//doesn"t work { Employee temp = x; x = y; y = temp; }
如果Java對對象采用的是按引用(地址)調(diào)用那么這個方法可以實現(xiàn)兩個對象交換數(shù)據(jù)的效果。
Employee a = new Employee("Alice",...); Employee b = new Employee("Bob",...); swap(a,b);
但是執(zhí)行完該方法后,a和b所引用的對象并沒有改變。x和y在方法執(zhí)行過程中所引用的對象改變了,但是a和b引用的對象并沒有改變,因為x和y只是“復(fù)制品”。
這個過程說明,對象引用也是按值傳遞的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75172.html
摘要:然而中的泛型使用了類型擦除,所以只是偽泛型??偨Y(jié)本文介紹了泛型的使用,以及類型擦除相關(guān)的問題。一般情況下泛型的使用比較簡單,但是某些情況下,尤其是自己編寫使用泛型的類或者方法時要注意類型擦除的問題。 簡介 Java 在 1.5 引入了泛型機制,泛型本質(zhì)是參數(shù)化類型,也就是說變量的類型是一個參數(shù),在使用時再指定為具體類型。泛型可以用于類、接口、方法,通過使用泛型可以使代碼更簡單、安全。然...
摘要:系列文章請查看超詳細的面試題總結(jié)一之基礎(chǔ)知識篇超詳細的面試題總結(jié)二之基礎(chǔ)知識篇超詳細的面試題總結(jié)三之集合篇常見問題下面的都是自己之前在學(xué)習(xí)的時候總結(jié)的,對于鞏固的基礎(chǔ)知識應(yīng)該有很大幫助。注意多線程的并發(fā)的讀寫類屬性會導(dǎo)致數(shù)據(jù)不同步。 系列文章請查看: 超詳細的Java面試題總結(jié)(一)之Java基礎(chǔ)知識篇 超詳細的Java面試題總結(jié)(二)之Java基礎(chǔ)知識篇 超詳細的Java面試題總結(jié)(...
摘要:最近在備戰(zhàn)面試的過程中,整理一下面試題。成員變量如果沒有被賦初值,則會自動以類型的默認值而賦值一種情況例外被修飾但沒有被修飾的成員變量必須顯示地賦值而局部變量則不會自動賦值。 最近在備戰(zhàn)面試的過程中,整理一下面試題。大多數(shù)題目都是自己手敲的,網(wǎng)上也有很多這樣的總結(jié)。自己感覺總是很亂,所以花了很久把自己覺得重要的東西總結(jié)了一下。 面向?qū)ο蠛兔嫦蜻^程的區(qū)別 面向過程: 優(yōu)點:性能比面...
摘要:知識點總結(jié)面向?qū)ο笾R點總結(jié)面向?qū)ο竺嫦驅(qū)ο蟾拍钍窍鄬τ诿嫦蜻^程而言,過程其實就是函數(shù),對象是將函數(shù)和屬性進行了封裝。指向了該對象關(guān)鍵字代表對象。靜態(tài)變量所屬于類,所以也稱為類變量成員變量存在于堆內(nèi)存中。 Java知識點總結(jié)(面向?qū)ο螅?@(Java知識點總結(jié))[Java, Java面向?qū)ο骫 [toc] 面向?qū)ο蟾拍?是相對于面向過程而言,過程其實就是函數(shù),對象是將函數(shù)和屬性進行了封...
摘要:知識點總結(jié)泛型知識點總結(jié)泛型泛型泛型就是參數(shù)化類型適用于多種數(shù)據(jù)類型執(zhí)行相同的代碼泛型中的類型在使用時指定泛型歸根到底就是模版優(yōu)點使用泛型時,在實際使用之前類型就已經(jīng)確定了,不需要強制類型轉(zhuǎn)換。 Java知識點總結(jié)(Java泛型) @(Java知識點總結(jié))[Java, Java泛型] [toc] 泛型 泛型就是參數(shù)化類型 適用于多種數(shù)據(jù)類型執(zhí)行相同的代碼 泛型中的類型在使用時指定 泛...
閱讀 1115·2021-11-16 11:45
閱讀 3134·2021-10-13 09:40
閱讀 723·2019-08-26 13:45
閱讀 1222·2019-08-26 13:32
閱讀 2181·2019-08-26 13:23
閱讀 920·2019-08-26 12:16
閱讀 2832·2019-08-26 11:37
閱讀 1763·2019-08-26 10:32