Java面向对象设计 - Java方法
类中的方法定义对象的行为。
方法是一个命名的代码块。
调用方法的代码是方法的调用者。
可选地,方法可以接受来自呼叫者的输入值,并且它可以向呼叫者返回值。
输入值的列表称为参数。方法可以具有零参数。如果一个方法有零个参数,我们说该方法没有任何参数或方法不采取任何参数。
方法总是在类的主体内定义。
方法声明的一般语法是形式
<modifiers> <return type> <method name> (<parameters list>) <throws clause>{ // Body of the method goes here }
- <modifiers>是修饰符的可选列表;
- <return type>是从方法返回的值的数据类型;
- <method name>是方法的名称。
方法参数
方法名称后面是一对开头和结尾的括号。
或者,我们可以在括号内为方法指定一个或多个参数。
多个参数用逗号分隔。
右括号可以后跟一个throws子句。
最后,我们为方法的开头和结尾括号指定代码。
方法声明中的四个部分是必需的:
- 返回类型,
- 方法名称,
- 一对开和关括号,和
- 一对开和关大括号。
以下是一个方法的示例:
- 它被命名为add;
- 它需要两个参数类型int命名为n1和n2,和
- 它返回它们的和:
int add(int n1, int n2) { int sum = n1 + n2; return sum; }
有时,方法不会向其调用者返回值。如果方法不向调用者返回任何值,则使用关键字void作为返回类型。
方法名称必须是有效的Java标识符。
通常,Java方法从小写开始,随后使用字冠。
例如,getName,setName,getDogCount和createDog是有效的方法名称。
方法可以从其调用者获取输入值。参数用于从调用者获取输入值。
参数由两部分组成:数据类型和变量名称。方法参数是变量声明。
变量用于保存从方法的调用者传递的输入值。逗号分隔方法的两个参数。
在以下示例中,add方法声明两个参数n1和n2。两个参数都是int数据类型。
int add(int n1, int n2) { int sum = n1 + n2; return sum; }
当调用add方法时,调用者必须传递两个int值。
从调用者传递的第一个值存储在n1中,从调用者传递的第二个值存储在n2中。
参数n1和n2也称为形式参数。
方法通过其在特定上下文中的签名唯一地标识。方法的签名是其名称及其参数的数量,类型和顺序的组合。
局部变量
在方法,构造函数或块中声明的变量称为局部变量。
在方法中声明的局部变量仅在执行方法的持续时间内存在。
因为局部变量只存在一个临时持续时间,所以不能在方法,构造函数或声明它的块之外使用。
方法的形式参数被视为局部变量。当调用方法时,在方法的正文执行之前,它们用实际的参数值初始化。
您需要遵守关于局部变量的使用的以下规则。
- 默认情况下不会初始化局部变量。
- 在向程序分配值之前,不能在程序中访问局部变量。
- 局部变量可以在方法体中的任何地方声明。但是,它必须在使用之前声明。
- 局部变量隐藏实例变量的名称和具有相同名称的类变量。