A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 0825王欢 中级黑马   /  2015-9-3 01:42  /  259 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在Java语言中,方法与变量的作用域(有效使用范围)是清晰的,根据定义变量的位置不同,作用域也不全相同。1.局部变量:
        局部变量是定义在块内、方法内的变量。这种变量的作用域是以块和方法为单位的,仅在定义该变量的块或方法内有效,而且要先定义赋值,然后再使用,即不允许超前引用。因为局部变量在查找时首先被查找,因此若某一局部变量与类的实例变量名或类变量名相同时,则该实例变量或类变量在方法体内被暂时“屏蔽”起来,只有退出这个方法后,实例变量或类变量才起作用。每调用一次方法,都要动态地为方法的局部变量分配内存并初始化。方法体内不能定义静态变量。方法体内的任何语句块内都可以定义新的变量,这些变量仅在定义它的语句块内起作用。当语句块有嵌套时,内层语句块定义的变量不能与外层语句块的变量同名,否则会出现编译错误。另外,方法的参数也属于局部变量,因此声明与参数同名的局部变量也会出错。
2.实例变量和类变量

        定义在类内、方法外的变量是实例变量,使用了修饰符static的变量是静态变量(或称类变量)。实例变量和类变量的作用域是以类为单位的。因为实例变量、类变量与局部变量的作用域不同,故可以与局部变量同名。




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马