Java的自变量列表
自变量列表划定了我们传送给要领的是什么信息。正如各人或者已猜到的那样,这些信息——如同Java内其他任何对象——回收的都是工具的形式。因此,我们必需在自变量列内外指定要通报的工具范例,以及每个工具的名字。正如在Java其他处所处理惩罚工具时一样,我们实际通报的是“句柄”(注释④)。然而,句柄的范例必需正确。倘若但愿自变量是一个“字串”,那么通报的必需是一个字串。
④:对付前面提及的“非凡”数据范例boolean,char,byte,short,int,long,,float以及double来说是一个破例。但在通报工具时,凡是都是指通报指向工具的句柄。
下面让我们思量将一个字串作为自变量利用的要领。下面列出的是界说代码,必需将它置于一个类界说里,不然无法编译:
int storage(String s) {
return s.length() * 2;
}
这个要领汇报我们需要几多字节才气容纳一个特定字串里的信息(字串里的每个字符都是16位,可能说2个字节、长整数,以便提供对Unicode字符的支持)。自变量的范例为String,并且叫作s。一旦将s通报给要领,就可将它看成其他工具一样处理惩罚(可向其发送动静)。在这里,我们挪用的是length()要领,它是String的要领之一。该要领返回的是一个字串里的字符数。
通过上面的例子,也可以相识return要害字的运用。它主要做两件工作。首先,它意味着“分开要领,我已落成了”。其次,假设要领生成了一个值,则谁人值紧接在return语句的后头。在这种环境下,返回值是通过计较表达式“s.length()*2”而发生的。
可按本身的愿望返回任意范例,但倘若不想返回任何对象,就可指示要领返回void(空)。下面列出一些例子。
boolean flag() { return true; }
float naturalLogBase() { return 2.718; }
void nothing() { return; }
void nothing2() {}
若返回范例为void,则return要害字独一的浸染就是退出要领。所以一旦抵达要领末端,该要害字便不需要了。可在任那里所从一个要领返回。但假设已指定了一种非void的返回范例,那么无论从何地返回,编译器城市确保我们返回的是正确的范例。
到此为止,各人或者已获得了这样的一个印象:一个措施只是一系列工具的荟萃,它们的要领将其他工具作为本身的自变量利用,并且将动静发给那些工具。这种说法概略正确,但通过今后的进修,各人还会知道如安在一个要领里作出决定,做一些更细致的下层事情。至于这一章,只需领略动静传送就足够了。