![On Java:中文版·基础卷](https://wfqqreader-1252317822.image.myqcloud.com/cover/337/53256337/b_53256337.jpg)
上QQ阅读APP看书,第一时间看更新
3.6 方法、参数以及返回值
在许多编程语言(比如C和C++)中,“函数”(function)用于表示子程序。而在Java中,我们称之为“方法”(method),意思是“做某件事的方式”。
Java中的方法决定了对象可以接受哪些消息。方法最基础的几个部分包括:方法名、参数、返回值,以及方法体(method body)。例如:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_68_01.jpg?sign=1739663306-MX2Z7rFcVk6JISHbqTvfTvP3WTViMkY5-0-4395581ce62ef552dd3bbad581645fc0)
ReturnType表示当调用一个方法时,该方法生成的值是什么类型。参数列表提供了一系列需要传递给方法的信息,包括信息的类型和名称。方法名和参数列表共同构成了方法的“签名”(signature),方法签名即该方法的唯一标识符。
Java中的方法只能作为类的一部分而存在,方法只能通过对象调用[4],而该对象必须能够执行该方法。如果你通过对象调用了一个不属于该对象的方法,会得到一个编译时错误。
调用对象方法的具体方式为,在对象引用之后添加一个“.”,然后紧跟着方法名及其参数列表:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_68_02.jpg?sign=1739663306-QkrSRsEf3jOMedjdIXLgOTUwIyoC0HES-0-ef40b2e0a04319afff018156f0aded18)
现在思考一下,如何定义一个无参数且返回int值的f()方法。假设有对象a定义了f()方法,那么我们可以这样编写代码:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_68_03.jpg?sign=1739663306-3ey8kr8z5mPdWbIgqpg6dsPMwL2O0fY8-0-e67d1e6e1811976956097384f5381897)
需要注意的是,返回值的类型必须与变量x的类型保持一致。
有时候,这种调用方法的行为也被描述为“向一个对象发送一条消息”。在上面的例子中,f()代表消息,a代表对象。此外,我们也可以将面向对象编程描述为“向对象发送消息”。