簡體   English   中英

你在 Java 中怎么稱呼這個對象,你為什么使用它?

[英]What do you call this object in Java and why do you use?

所以我現在正在和兩個班級一起工作,剛剛學會了這樣做,但仍然不知道為什么這是可能的,這叫什么。 類變量? 對象創建對象? 而在setter方法中,為什么默認值為null? 它像字符串嗎? 根據我的假設,'RetailItem item' 就像它結合了整個 RetailItem 類並在另一個類中創建了一個具有其功能的新變量。

有兩個名為 CashRegister 和 RetailItem 的類。

這是來自 CashRegister 的帶有 setter 的實例“RetailItem item”。


public class CashRegister
{
    private RetailItem item;

    public void setItem (RetailItem newItem)
    {
        if (newItem != null)
        {
            item = newItem;
        }else{
            item = new RetailItem();
        }
    }
}

RetailItem()是來自RetailItem類的默認構造函數。 什么item = new RetailItem(); 意思? 我什至不知道我要從哪里開始學習。 我錯過了什么?

我在理解你的英語時遇到了一些困難,所以我可能誤解了你的一些問題。

你在 Java 中怎么稱呼這個對象,你為什么使用它?

我不知道你指的是哪個“對象”。

...但還是不知道為什么this可能的和this叫。

它只是被稱為this 沒有其他術語可以描述它。

類變量?

不, this不是類變量。

對象創建對象?

(嗯?)不。 this不是“對象創建對象”。

而在setter方法中,為什么默認值為null?

因為這是 Java 定義的方式。 任何類型為引用類型的實例變量(如item )的默認初始值為null

(為什么?因為從語言的角度來看,這是唯一有意義的值。其他任何事情,程序員都需要某種方式來說明默認值是什么。編譯器無法讀懂您的想法!)

它像字符串嗎?

不明白你的意思。 但是,如果您要問的是,如果使用String類型聲明item是否會獲得相同的默認值行為,那么 Yes。

根據我的假設, RetailItem item就像它結合了整個RetailItem類並在另一個類中創建了一個具有其功能的新變量。

不完全是。 RetailItem item實際所做的是聲明一個變量,然后您可以在其中放置對RealItem對象的引用。 這個變量的默認值是null .... 直到其他一些值被分配給它。

什么item = new RetailItem(); 意思?

這意味着創建(構造)一個新的RetailItem實例(一個對象),然后將其引用分配給變量item

我什至不知道我要從哪里開始學習。

我建議您從一本優秀的 Java 入門教科書、Oracle Java 教程或課程講義開始。 問你的老師。

但要堅持下去。 如果你努力工作,你就會到達一切開始變得有意義的地步。 因為,基本的 Java 是一種簡單且一致的語言。 當您了解泛型、類型推斷 / lambdas 和 .... 多線程時,語言只會變得復雜。

暫無
暫無

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

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