您的位置:寻梦网首页编程乐园Java天地Core JavaJAVA程序员必读
JAVA程序员必读:基础篇(3)语言基础
    
编译:ZSC/太平洋网络学院

语言基础

3.1.3 作用域

变量的作用域是一个程序的区域,在上面变量可以通过它的名字来引用。其次,作用域也决定什么时候系统为变量创建和清除内存。作用域只应用成员变量并决定是否变量可以从所在类的外部使用。在程序中变量声明的位置建立它的作用域并且将它放置到以下四类之一:

成员函数作用域

当地变量作用域

方法参数作用域

异常处理参数作用域

(图14)

如图14所示。成员变量示类或者对象的成员。它是在类中定义而不在任何方法或者构造函数中定义。成员函数的作用域是类的完全定义。但是,当成员是使用在成员初始化表达式中的时候,成员的定义需要在它使用之前出现。在后面的教程中我们要再深入学习成员变量,这里就不讲了。

你可以在一个代码块中定义当地变量。总的说来,当地变量的作用域从它的声明扩展到了它被定义的代码块结束。在MaxVariablesDemo中,定义在主方法中的所有变量都是当地变量。程序中的每一个变量的作用域从变量的定义扩展到了主方法的结束,它在程序代码中是用右括号}来指示的。

参数是方法或者构造函数的正式参数,它们用于传递数值给方法和构造函数。参数的作用域是整个方法或者构造函数。

异常处理参数跟参数很相似,差别在是前者是传递参数给异常处理而后者是传递给方法或者构造函数。异常处理参数的作用域处在{和}之间的代码,它紧跟着catch语句。利用异常来处理错误向你说明了怎样编写一个带有参数的异常处理。以下是一个代码例子:

if (...) {

int i = 17;

...

}

System.out.println("The value of i = " + i); // 错误

最后的行不汇编因为当地变量I已经出了作用域。i的作用域是处在{和}之间的代码块。变量I在右括号}之后就不存在了。改正的方法可以是讲变量的声明移到if语句块的外面,或者是将println方法调用移动到if语句块中。

[上一页] [下一页]