方法调用栈
在Java程序中,第一个被调用的方法就是main(),该方法是JVM调用的。因此,main()方法总是在调用栈的底部。
一个方法被调用时,该方法就被放在调用栈的顶部,直到方法执行完成。当一个方法正在执行时,会发生三种情况:
方法返回一个值。在这种情况下,一个基本数据类型或引用类型被传回给方法的调用者。
方法不返回一个值。在这种情况下,返回值被声明为void。
方法抛出一个异常给方法的调用者。
方法签名
访问修饰符。访问修饰符的可能值包括public、private、protected或默认访问修饰符(即没有访问修饰符)。public访问修饰符允许从任何地方调用该方法。private访问修饰符意味着除了在类内部以外,没有人可以调用它。
可选修饰符。方法签名的下一个部分是可选的修饰符,包括static、final、abstract、native以及synchronized。native方法用于编写一个Java访问映射到用不同编程语言编写的方法.
返回值。方法签名必须包括返回值的类型。如果方法不需要返回一个值,就使用void。否则,就要指定返回值的数据类型。返回值的类型可以是八种基本数据类型之一或者一个引用类型。这意味着我们可以从方法中返回任何类型的数据,因为Java中的变量要么是八种基本数据类型之一,要么是对一个对象的引用。
方法名。方法名必须出现在返回值之后。方法名可以是任何有效的Java标识符。Java命名惯例要求方法是混合大小写的驼峰法则,即方法名的第一个单词的第一个字母为小写,其它单词的第一个字母为大写。例如,main、toString、getDay、setPreferredSize。
形式参数列表。在方法名的后面必须是用一对括号括起来的形式参数列表。方法被调用时,数据可以通过该方法的调用者传递进来。这个传递进来的数据被复制到形式参数中。一个形式参数由一个数据类型和一个标识符组成。
抛出的异常列表。方法可以抛出一个异常给方法的调用者。当方法中出现一个方法本身不能或者不想处理的问题时,就抛出一个异常。如果方法抛出一个受检查的异常,该异常必须在方法签名中使用throws关键字声明。在throws关键字后可以声明多个用逗号分隔的异常。
形式参数和实际参数
一个方法的签名包括一个形式参数(Parameter)的列表,形式参数列表用于声明传递到方法中的数据的类型。传递给形式参数的数据称为实际参数(Arguement)。当方法被调用时,实际参数必须传递给形式参数列表中的每个形式参数。