美文网首页
Java局部变量和作用域关系

Java局部变量和作用域关系

作者: 天马行空爱做梦 | 来源:发表于2020-10-20 20:07 被阅读0次

1、Java中作用范围是禁止嵌套的,而在C/C++中则是允许的

在Java中,在方法(函数)内定义的变量,其作用范围(包括方法的参数)是从它定义的地方开始,到它所作用范围终结的位置处结束。如在方法的开始处定义了一个变量i,那么直到该方法结束处,都不能再定义另一个同名变量i。再如,如果在一个for循环体中定义了变量i,那么在这个for循环内不能再有同名变量,但出了for循环之后,是可以再次定义的。这就是作用域不能嵌套的意思。
而在C/C++中,作用域可以嵌套,甚至无限制地嵌套下去,这里每对大括号之间就是一个独立的作用域,内嵌套的同名变量覆盖外迁套的同名变量。如下表所示。


image.png

2、Java中类与方法中变量作用域可以嵌套

在Java中,类与方法之间作用域是可以嵌套的,可以把整个类看做一个大的作用域,它定义的字段(或称数据成员)可被方法中的同名字段所屏蔽,其行为类似于上表左侧所示的C/C++的作用域嵌套。

01 public class Varscape
02    {
03 public static void main(String args[])
04 {
05      int x=1;
06      System.out.println("x="+x);
07 }
08 private int x;
09 }

本例中的第5行所定义的x,作为类VarScope的数据成员,它的作用域是整个类,即从第02行到第09行之间,这个范围包括了第03行到第07行,而这个区域内的main方法,其内部也定义了一个名为x的变量,在这个范围内,第09行定义的变量x被第05行定义的变量x所覆盖

运行结果是 x=1

相关文章

  • Java局部变量和作用域关系

    1、Java中作用范围是禁止嵌套的,而在C/C++中则是允许的 在Java中,在方法(函数)内定义的变量,其作用范...

  • 第2模块第1章21函数—作用域

    作用域 在Python中函数就是一个作用域,局部变量放置在其作用域中 C Java中作用域{}已经生成,作用域向上...

  • 成员变量和局部变量

    java中的局部变量和成员变量: 在java中,局部变量的作用域在当前大括号以内的,局部变量的生存期也是在当前大括...

  • 16-修饰符和预处理指令-指趣学院

    全局变量和局部变量 变量作用域基本概念变量作用域:变量的可用范围按照作用域的不同,变量可以分为:局部变量和全局变量...

  • C语言之内存讲解

    1 内存讲解 1.1 作用域 C语言变量的作用域分为:代码块、函数、文件作用域: 1.1.1 局部变量 局部变量(...

  • JS高级知识点汇总

    1.作用域 局部作用域:函数内部就是局部作用域。 ①在局部作用域申明的变量称为局部变量,局部变量只能在当前函数内部...

  • python011-函数2

    变量作用域 变量作用域指的是变量生效的范围,主要分为两类:==局部变量==和==全局变量==。 局部变量 所谓局部...

  • 《javascript基础补充--作用域与作用域链相关知识点》

    关键词:全局变量、局部变量、变量提升机制、内存回收机制、作用域、作用域链 变量(作用域) 局部变量可以与全局变量重...

  • 函数作用域以及作用域链

    变量作用域 在JS中区分函数作用域时主要区分为函数内部定义变量(局部变量)和函数外部定义变量(全局变量) 局部变量...

  • Java_basic_1:成员变量和局部变量

    成员变量和局部变量 1.作用域不同 局部变量作用域仅限于定义它的method中 成员变量的作用域存在于整个Clas...

网友评论

      本文标题:Java局部变量和作用域关系

      本文链接:https://www.haomeiwen.com/subject/tsfjmktx.html