ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
#### [参数列表](https://lingcoder.gitee.io/onjava8/#/book/03-Objects-Everywhere?id=%e5%8f%82%e6%95%b0%e5%88%97%e8%a1%a8) 方法参数列表指定了传递给方法的信息。正如你可能猜到的,这些信息就像 Java 中的其他所有信息 ,以对象的形式传递。参数列表必须指定每个对象的类型和名称。同样,我们并没有直接处理对象,而是在传递对象引用 \[^5\] 。但是引用的类型必须是正确的。如果方法需要 String 参数,则必须传入 String,否则编译器将报错。 ~~~ int storage(String s) { return s.length() * 2; } ~~~ 此方法计算并返回某个字符串所占的字节数。参数`s`的类型为**String**。将 s 传递给`storage()`后,我们可以把它看作和任何其他对象一样,可以向它发送消息。在这里,我们调用`length()`方法,它是一个 String 方法,返回字符串中的字符数。字符串中每个字符的大小为 16 位或 2 个字节。你还看到了**return**关键字,它执行两项操作。首先,它意味着“方法执行结束”。其次,如果方法有返回值,那么该值就紧跟**return**语句之后。这里,返回值是通过计算 ~~~ s.length() * 2 ~~~ 产生的。在方法中,我们可以返回任何类型的数据。如果我们不想方法返回数据,则可以通过给方法标识`void`来表明这是一个无需返回值的方法。 代码示例: ~~~ boolean flag() { return true; } double naturalLogBase() { return 2.718; } void nothing() { return; } void nothing2() { } ~~~ 当返回类型为**void**时,**return**关键字仅用于退出方法,因此在方法结束处的**return**可被省略。我们可以随时从方法中返回,但若方法返回类型为非`void`,则编译器会强制我们返回相应类型的值。 上面的描述可能会让你感觉程序只不过是一堆包含各种方法的对象,在这些方法中,将对象作为参数并发送消息给其他对象。大部分情况下确实如此。但在下一章的运算符中我们将会学习如何在方法中做出决策来完成更底层、详细的工作。对于本章,知道如何发送消息就够了。