摘要:類似上面的函數中參數,傳遞的為對象的地址可以對該對象內部的非屬性進行修改。如果是函數,當調用時,內部的操作不會影響外部變量。這是函數參數按照值傳遞的方式來運行。基本數據類型的包裝類他們的值是不可變的。
一、參數
在java函數中,參數類型分為按引用傳遞和按值傳遞。
public class Person{ private String name; private int age ; public void change(Person person){ person.name=person.getName()+"-change"; person.age=person.getAge()+1; } public static void changeStr(String str){ str="123"; } }
類似上面的change函數中參數person,傳遞的為Person對象的地址
Person person = new Person();
可以對該對象內部的非final屬性進行修改。
如果是changeStr函數,當調用Person.changeStr(str)時,內部的操作不會影響外部變量str。
當str為person.getName()時,也不會改變。這是函數參數按照值傳遞的方式來運行。
tip:
對于String,Integer。。(基本數據類型的包裝類)他們的值是不可變的。所以傳遞時按照值傳遞來進行。
附String源碼:
public final class String implements java.io.Serializable, Comparable, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash code for the string */ private int hash; // Default to 0 ... public String(String original) { this.value = original.value; this.hash = original.hash; } ... }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71334.html
摘要:根據對社區和新特性的深刻理解,他創作了函數式編程一書。問你在倫敦社區的經歷是否幫助你創作了函數式編程這本書絕對是這樣。我認為引入函數式編程會為很多編程任務提供方便。問之前的是面向對象的,現在全面支持函數式編程。 非商業轉載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/199271 Richard Warburto...
摘要:編程語言將函數作為一等公民,函數可以被作為參數或者返回值傳遞,因為它被視為對象。是表示已注釋接口是函數接口的注釋。如果一個函數有一個或多個參數并且有返回值呢為了解決這個問題,提供了一系列通用函數接口,在包里。 【編者按】雖然 Java 深得大量開發者喜愛,但是對比其他現代編程語言,其語法確實略顯冗長。但是通過 Java8,直接利用 lambda 表達式就能編寫出既可讀又簡潔的代碼。作者...
摘要:函數的定義形如函數可以返回多個返回值,這個功能真是太猛了。支持函數類型,根據輸入參數和返回值確定一個函數類型。例如函數的參數可以另外一個函數,注意,不是另外一個函數的返回值,而是另外一個函數,只要類型符合即可。 我們學習的新事物時,通常并不是從0開始,而是從已知開始,將新事物與已知的進行比較分析,從而快速全面地了解新事物。而我熟悉Java,所以在學習Swift時,就會將Swift與Ja...
摘要:需要注意的地方輸入法狀態調整為英文狀態代碼的縮進不要忘記分號下面圖片標注內容。語句語句是程序最小的一個執行單位,像一個指令,程序中,必須使用一個英文分號結束一條語句。建議,第一個簡單的程序,我已經詳細的為你做了演練與解釋。 在上一篇文章 【[準備編譯環境】]()中我們完成了 Java 編譯環境的搭建,這篇文章內容主要是來教你怎么開始編寫第一個 Java 程序,并運行它。 分為兩個步驟,...
摘要:本文主要介紹了中的函數與原語,由國內管理平臺編譯呈現。原語與對象語言毫無關系。對象函數有個方法叫,返回數字化原語的方法被稱為,或。你可以創建函數的特殊形式,使用原語,而不是對象。 【編者按】本文作者為專注于自然語言處理多年的 Pierre-Yves Saumont,Pierre-Yves 著有30多本主講 Java 軟件開發的書籍,自2008開始供職于 Alcatel-Lucent 公...
摘要:本文主要介紹了中的閉包與局部套用功能,由國內管理平臺編譯呈現。譬如,認為給帶來了閉包特性就是其中之一。但是首先,我們將考慮如何利用閉包進行實現。很顯然,閉包打破了這一準則。這就是局部調用,它總是比閉包更為穩妥。 【編者按】本文作者為專注于自然語言處理多年的 Pierre-Yves Saumont,Pierre-Yves 著有30多本主講 Java 軟件開發的書籍,自2008開始供職于 ...
閱讀 1017·2023-04-25 22:27
閱讀 872·2021-11-22 14:56
閱讀 984·2021-11-11 16:54
閱讀 1678·2019-08-30 15:54
閱讀 3500·2019-08-30 13:20
閱讀 1213·2019-08-30 10:55
閱讀 2080·2019-08-26 13:34
閱讀 3281·2019-08-26 11:53