簡體   English   中英

Java中的客戶端方法是什么?

[英]What are client methods in Java?

我對Java還是比較陌生,因此想進一步了解該術語。 在閱讀時,在有關公共,私有和靜態變量的討論中遇到了術語“ client methods

關於這個詞,我有兩個問題:

  • client methods是否只是未在特定文件中聲明的所有方法? 說我有兩個文件,一個叫File1.java ,另一個叫File2.java 如果File2.java包含一個名為方法printText ,是否會被認為是client method從的角度File1
  • 為什么將它們稱為“ client ”方法,確切地定義了客戶端? 是否還有client variables

編輯:作為參考,我在Barron的AP計算機科學A書的最新版本中看到了這個術語,這是直接引用:

變量OVERDRAWN_PENALTY是BankAccount類中的一個示例。 由於變量是公共變量,因此可以在任何客戶端方法中使用。 [...]客戶端方法會將變量稱為BankAccount.OVERDRAWN_PENALTY。 在它自己的類中,它簡稱為OVERDRAWN_PENALTY。

重新編輯 ,這部分包括在上面的引用之前:

同樣,所有客戶端程序都可以訪問公共方法。 但是,客戶端並不依賴於類的實現,並且不能訪問該類的私有實例變量和私有方法。

好的,根據您的評論,本書的這一部分似乎將術語“ client methods用作“使用該類的方法/不在此類/程序包/庫中的client methods ”的縮寫。

我認為這只是“暴露給客戶”的意思。 考慮一下API,它可以包含各種可見性修飾符的許多方法,但是唯一可以直接用作“客戶端”的方法是public

但是,經過幾次閱讀后,似乎確實說不在訪問當前類的同一個類中的方法被視為“客戶端方法”。

單詞“客戶端”通常用於表示“某些其他系統或服務的用戶”。

例如,當談到客戶進程時 ,這是指表示一個訪問,使用或使用某些相應服務器程序或進程提供的服務的進程

這種語言更廣泛地延續到了API的討論中。 API的“客戶端”是訪問該API的合同定義的服務的程序(通常由不同的程序員編寫)。 順便說一句,在Java中,由類和接口的所有成員形成API,可以由不同程序包中的類訪問(即, 導出的成員定義API)。

在提供的段落中:

變量OVERDRAWN_PENALTY是BankAccount類中的一個示例。 由於變量是公共變量,因此可以在任何客戶端方法中使用。 [...]客戶端方法會將變量稱為BankAccount.OVERDRAWN_PENALTY。 在它自己的類中,它簡稱為OVERDRAWN_PENALTY。

客戶端方法是指一種訪問BankAccount類的服務的方法(可能由其他人編寫),在這種情況下,該方法是該類中的公共變量。

API用戶(例如方法)的術語“客戶端”對我來說很常見。 因此,如果它是使用另一種方法的方法,則第一個是后者的客戶端。

在這種情況下,它與“網絡客戶端”完全無關。

約書亞·布洛赫(Joshua Bloch)撰寫的“有效Java”一書是該書的權威來源。

讓我舉兩個例子:

類允許客戶端獲取其自身實例的通常方法是提供一個公共構造函數。

和:

簡而言之,伸縮構造函數模式有效,但是當有許多參數時,很難編寫客戶端代碼,並且仍然很難讀取。

我想,您可能會輕松提出“客戶端方法”。

暫無
暫無

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

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