2017-04-26 36 views
-5

當調用某個方法時,我得知您必須使用instanceName.method()className.method()。但是,在某些情況下,代碼中省略了instanceNameclassName,並且僅編寫了method()何時需要點操作符?

編程語言是Java。只是爲了AP計算機科學考試而覆蓋了這一點,並且我對課程參數之外的編碼知識相對有限,所以我們將不勝感激。

我的書講述了一些關於客戶端程序的內容,但我不完全確定它的含義(通常和客戶端程序都是特定的)。

+0

當你調用從同一類中的方法,或者你調用繼承的方法,你並不需要一個點運算符。 –

+0

他非常基礎。在開始測試之前你應該知道它 – Jens

+1

「A」類中的代碼可以引用A類的靜態方法和字段,而不需要將'A.'放在前面。 (或靜態方法和'A'繼承的類中的字段。)實例方法中的代碼可以通過前面沒有'this.'的名稱引用此實例的字段和方法(包括'this'的字段和方法從基類繼承)。 – khelwood

回答

0

我會盡可能簡單地說明我的解釋 - 通常當您嘗試影響班級中的變量時,您會使用instanceName.method()。例如,一個「貓」對象,你可以製造一隻貓 - Cat catOne = new Cat(),然後使用它的方法catOne.setName("Kitty");。這會將這個對象名稱設置爲「Kitty」,使所有其他貓對象具有自己的唯一名稱。

使用className.method()是在類中使用靜態方法時完成的,例如public static int method(),然後在另一個類中使用它。這並不要求您爲該類實例化一個對象,並且可以隨意使用它們。例如,擁有一個名爲MathConstants的類並使用MathConstants.getPi()(對於粗略示例抱歉)。

當像methodName()那樣調用方法時,這意味着該方法位於類本身內。通常我們使用this,如this.methodName(),但只是使用methodName()是可以的。

希望這是很容易理解

+0

是的,這是很有道理的。謝謝! –

+0

@JeffreyKim沒問題!不要忘記提高答案;)代表的研究是真實的 –