“好吧,上次我們講的是類。今天,我想告訴你如何創建對象。很簡單,你寫關鍵字new,然後寫上你要創建對象的類的名稱。”

例子
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

“我已經知道了。”

“我知道你知道。繼續聽。”

“創建對象時,您可以在括號內傳遞各種參數。今天晚些時候會詳細介紹。現在,讓我們看一下 Cat 類:”

Java代碼 描述
class Cat {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
name是一個實例變量。它有一個公共訪問修飾符,使其在項目中的任何地方都可見。

getName方法是一個 getter。它返回實例變量名稱的值。該方法的名稱源自單詞“get”加上首字母大寫的變量名稱。

setName方法是一個設置器。它用於為實例變量name分配一個新值。該方法的名稱源自單詞“set”加上首字母大寫的變量名稱。在這個方法中,參數實例變量同名有了這個

“這些getter 和 setter是什麼?”

“在 Java 中,通常的做法是對其他類隱藏變量。通常,在類內部聲明的變量具有 private 修飾符。

“為了允許其他類更改這些變量的值,為它們中的每一個創建了一對方法:getset。get方法返回變量的當前值。set方法變量設置一個新值。

“這有什麼意義呢?”

“如果我們不希望任何人更改實例變量的值,我們可以不為其創建set方法,或者我們可以將其設為私有我們還可以向該方法添加額外的數據檢查。如果傳遞的新值無效,什麼都不會改變。”

“我懂了。”

“因為一個類可以有很多變量,所以get和set方法的名稱通常包括它們處理的變量的名稱。”

“如果一個變量被稱為‘name’,那麼這些方法將被稱為setNamegetName等。

“原來如此。這麼說倒是挺有道理的。”

“這裡有更多使用新創建的對象的例子:”

代碼 描述
1個
new Cat();
創建Cat對象
2個
Cat catOscar = new Cat();
將對象存儲Cat在變量中catOscar
3個
catOscar.name = "Oscar";
catOscar.age = 6;
catOscar.weight = 4;
用數據填充對象:姓名、年齡、體重
4個
catOscar.sleep();
在對像上調用方法
5個
catOscar.fight(catSmudge);
讓物體相互作用。

作為 Codegym 大學課程一部分的導師授課片段。報名參加完整課程。