java类-局部变量及局部变量有效范围

成员变量 节中已经讲述过成员方法,如果在成员方法内定义一个变 量,那么这个变量被称为局部变量。

例如,在 成员变量 例子定义的Book类中,getName()方法的id变量即为局部 变量。实际上方法中的形参也可作为一个局部变量,如在定义 setName(String name)方法时,String name这个形参就被看作是局部变量。

局部变量是在方法被执行时创建,在方法执行结束时被销毁。局部 变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。

【例】在项目中创建一个类文件,在该类中定义getName()方法 并进行调用。

局部变量

如果将id这个局部变量的初始值去掉,编译器将出现错误。

局部变量的有效范围

可以将局部变量的有效范围称为变量的作用域,局部变量的有效范 围从该变量的声明开始到该变量的结束为止。图描述了局部变量的作用范围。

局部变量的作用范围
局部变量的作用范围

在相互不嵌套的作用域中可以同时声明两个名称和类型相同的局部 变量,如图所示。

在不同嵌套区域可以定义相同名称和类型的局部变量
在不同嵌套区域可以定义相同名称和类型的局部变量

但是在相互嵌套的区域中不可以这样声明,如果将局部变量id在方 法体的for循环中再次定义,编译器将会报错,如图所示。

在嵌套区域中不可以定义相同名称和类型的局部变量
在嵌套区域中不可以定义相同名称和类型的局部变量

注意:在作用范围外使用局部变量是一个常见的错误,因为在作用范围外没有声明局部变量的代码。

发表评论