首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java中的嵌套作用域

java中的嵌套作用域
EN

Stack Overflow用户
提问于 2018-10-18 03:39:20
回答 1查看 415关注 0票数 -2

当我们尝试这段代码时,它不能工作。

代码语言:javascript
复制
public class f {

public static void main(String[] args) {
    { // aussen 
            int a = 1;
            int b = 2; 
             { // innen
                    System.out.println(a);
                    // gibt 1 aus
                    int b = 3;     
                    System.out.println(b); // gibt 3 aus
            }       

    }
}
}   

但是我们的教授。说在内部作用域中可以再次声明变量,并且这个内部声明在变量b的内部作用域中使用。但在互联网上的http://www.mathcs.emory.edu/~cheung/Courses/170/Syllabus/08/scope.html上,在“具有相同名称的变量r发生在内部作用域内”下,我们发现我们的错误是合法的。在过去的9年里,这种情况发生了变化吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-18 03:45:42

这一点没有改变。Java就是这样设计的。局部变量不能被同一函数中定义的其他变量遮蔽。原因是一致性,所有外部变量对内部作用域也是可见的。

这是Java工作方式不同于C和C++的一种情况,后者允许同一函数中的变量相互遮蔽。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52862427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档