![](/img/trans.png)
[英]In Selenium Java client what is the difference between addArguments and setPreference methods?
[英]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.