我对Java相对较新,并试图了解有关术语的更多信息。在我阅读时,我在讨论公共,私有和静态变量时遇到了client methods
这个词。
以下是关于这个术语的两个问题:
client methods
只是所有未在特定文件中声明的方法吗?假设我有两个文件,一个名为File1.java
,另一个名为File2.java
。如果File2.java
包含名为printText
的方法,那么从client method
的角度来看,这会被视为File1
吗? client
”方法,究竟是什么定义了客户端?还有client variables
吗? 修改:作为参考,我在当前最新版的Barron's AP Computer Science A book中看到了这个术语,这里是直接引用:
变量OVERDRAWN_PENALTY是BankAccount类中的一个示例。 由于变量是公共的,因此可以在任何客户端方法中使用。 [...] 一个 客户端方法将变量称为 BankAccount.OVERDRAWN_PENALTY。在它自己的类中它被称为 只需OVERDRAWN_PENALTY。
重新编辑,此部分在上面的引用之前包含了一点:
同样,所有客户端程序都可以访问公共方法。 但是,客户并不了解类的实现情况 不访问私有实例变量和私有方法 类。
答案 0 :(得分:1)
好的,根据您的评论,本书的这一部分似乎使用术语client methods
作为“不在此类/包/库中使用此类的方法的简短版本”。
答案 1 :(得分:1)
我认为这只是“暴露给客户”。考虑一个API,它可以包含各种可见性修饰符的任意数量的方法,但是您可以直接用作“客户端”的那些方法是那些public
。
在阅读了几次之后,似乎确实说一个不在同一个类中访问当前类的方法被认为是“客户端方法”。
答案 2 :(得分:1)
"客户"通常用于表示某些其他系统或服务的用户。"
例如,当人们谈到客户端进程时,这意味着指示访问,使用或使用某些相应的服务器程序或进程提供的服务的进程< / em>的
这种语言更广泛地延续到了API的讨论中。 A&#34;客户&#34; API是一个程序(通常由不同的程序员编写),用于访问由该API的合同定义的服务。另外,在Java中,API由类和接口的所有成员组成,可以由不同包中的类访问(即导出的成员定义API)。
在提供的段落中:
变量OVERDRAWN_PENALTY是BankAccount类中的一个示例。 由于变量是公共的,因此可以在任何客户端方法中使用。 [...]客户端方法将变量称为 BankAccount.OVERDRAWN_PENALTY。在它自己的类中它被称为 只需OVERDRAWN_PENALTY。
客户端方法是指访问BankAccount
类服务的方法(可能由其他人编写),在本例中是类中的公共变量。
答案 3 :(得分:1)
API用户(例如方法)的术语“客户端”对我来说非常普遍。因此,如果它是使用另一种方法的方法,则第一种方法是后者的客户端。
在这种情况下,它与“网络客户”完全无关。
一个 - 相当权威 - 来源于Joshua Bloch的“Effective Java”一书。
让我引用两个例子:
允许客户端获取自身实例的类的常规方法是提供公共构造函数。
和
简而言之,伸缩构造函数模式有效,但很难写 当有很多参数时客户端代码,并且更难以阅读它。
我认为你可以轻松提出“客户端方法”。