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

时间:2016-01-09 17:55:34

标签: java terminology

我对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。

重新编辑,此部分在上面的引用之前包含了一点:

  

同样,所有客户端程序都可以访问公共方法。   但是,客户并不了解类的实现情况   不访问私有实例变量和私有方法   类。

4 个答案:

答案 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”一书。

让我引用两个例子:

  

允许客户端获取自身实例的类的常规方法是提供公共构造函数。

  

简而言之,伸缩构造函数模式有效,但很难写   当有很多参数时客户端代码,并且更难以阅读它。

我认为你可以轻松提出“客户端方法”。