![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=1739364101-2IsJQwyxC4udC8yNTT0wNOSDLiMPY6cT-0-310f1b05a7ed01ca86a6116b9837bff1)
ReturnType表示当调用一个方法时,该方法生成的值是什么类型。参数列表提供了一系列需要传递给方法的信息,包括信息的类型和名称。方法名和参数列表共同构成了方法的“签名”(signature),方法签名即该方法的唯一标识符。
Java中的方法只能作为类的一部分而存在,方法只能通过对象调用[4],而该对象必须能够执行该方法。如果你通过对象调用了一个不属于该对象的方法,会得到一个编译时错误。
调用对象方法的具体方式为,在对象引用之后添加一个“.”,然后紧跟着方法名及其参数列表:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_68_02.jpg?sign=1739364101-AqZO3MyjCCDWOqWHZAGQ8AZJR4Zyj1ig-0-98e69a5d9581871987237897f6de1aec)
现在思考一下,如何定义一个无参数且返回int值的f()方法。假设有对象a定义了f()方法,那么我们可以这样编写代码:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_68_03.jpg?sign=1739364101-3Y0ZFsJVtehFtjvhZxAdynHn0mxd52Hc-0-f1fc9b80c409692f2608278d016736d4)
需要注意的是,返回值的类型必须与变量x的类型保持一致。
有时候,这种调用方法的行为也被描述为“向一个对象发送一条消息”。在上面的例子中,f()代表消息,a代表对象。此外,我们也可以将面向对象编程描述为“向对象发送消息”。