[英]Need help understanding this block of code (java)
public class Bicycle {
private int cadence;
private int gear;
private int speed;
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
當您編寫gear = startGear時; 這實際上是做什么的? 它會暫時將齒輪的值暫時設置為您輸入的值,然后重置為零嗎? 這稱為變量實例嗎?
有人可以向我解釋什么是“物體實例”嗎? 這里有一個嗎? 我以為某個對象的實例是某人寫的Bicycle bike1 = new Bicycle(); bike1是對象的實例。 對不起,我真是個菜鳥。
public Bicycle(int startCadence, int startSpeed, int startGear) ;
這是Bicycle
類的構造函數,它接受三個均為int
類型的參數。 構造函數應使用與該類相同的名稱。
當您編寫gear = startGear時; 這實際上是做什么的?
對於這樣的變量副本,您實際上是為它分配了傳遞參數的值。
“對象實例”到底是什么?
沒有什么叫做對象實例。 您有一個類的實例 。 每個實例都有自己的類成員變量。 實際上,實例和對象是同義詞,通常可以互換使用。
分開描述部分並理解此圖-
Bicycle
課的基本結構- 當說new Bicycle(10, 4 75);
之后, Bicycle
類被實例化。 通過實例化方式-
運算符new
返回對象在堆上的駐留地址。 因此,在我們的情況下, bike1
指向這樣的內存位置。
(10,4,75)
作為參數傳遞給構造函數,並且由於您正在構造函數中進行必要的分配操作,因此分別將(10,4,75)
分配給cadence, gear, speed
。
為了簡短起見,當實例化一個類時,將獲得一個類變量的副本。
因此,自行車是一個對象。 因此,它負責有關自行車的所有知識。 因此,它必須記住有關自身的信息,以便以后在您詢問自行車有關自身的信息時,它可以告訴您信息。
這段代碼是一個構造函數,它初始化了Bicycle對象。
因此,我們正在做的就是告訴這輛自行車您的裝備是“ startGear”,並將一些值傳遞給構造函數。 自行車將該值保存在一個字段中,以便以后可以引用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.