簡體   English   中英

需要幫助來了解此代碼塊(java)

[英]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時; 這實際上是做什么的?

對於這樣的變量副本,您實際上是為它分配了傳遞參數的值。


“對象實例”到底是什么?

沒有什么叫做對象實例。 您有一個類的實例 每個實例都有自己的類成員變量。 實際上,實例和對象是同義詞,通常可以互換使用。


分開描述部分並理解此圖-

  1. 這是Bicycle課的基本結構- 自行車結構
  2. 自行車bike1 =新自行車(10,4,75);

當說new Bicycle(10, 4 75); 之后, Bicycle類被實例化。 通過實例化方式-

  • 為班級成員分配內存;
  • 默認情況下,調用類構造函數。

運算符new返回對象在堆上的駐留地址。 因此,在我們的情況下, bike1指向這樣的內存位置。 自行車1 (10,4,75)作為參數傳遞給構造函數,並且由於您正在構造函數中進行必要的分配操作,因此分別將(10,4,75)分配給cadence, gear, speed

為了簡短起見,當實例化一個類時,將獲得一個類變量的副本。

因此,自行車是一個對象。 因此,它負責有關自行車的所有知識。 因此,它必須記住有關自身的信息,以便以后在您詢問自行車有關自身的信息時,它可以告訴您信息。

這段代碼是一個構造函數,它初始化了Bicycle對象。

因此,我們正在做的就是告訴這輛自行車您的裝備是“ startGear”,並將一些值傳遞給構造函數。 自行車將該值保存在一個字段中,以便以后可以引用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM