在c/c++里,有时出于需要(比如屏蔽较大作用域的变量),在具有包含关系的作用域中定义类型和名称都相同的变量。 这是一种编程技巧,对于c/c++来说也是合法的。
但是,在java中,这种做法会导致报错“Duplicate local variable variable”,(这是Eclipse的错误提示)。在用Javac编译器编译时会提示“变量xx已经在xxx中定义”。
之所以会有这种错误提示,是因为Java本身不允许,“Java设计者认为这样做会导致程序混乱”(来源于《Java编程思想》)。
本文深入探讨了Java中不允许在同一作用域内定义同名变量的原因,解释了Eclipse和Javac编译器对此错误的处理方式,并提供了避免此类错误发生的策略。
在c/c++里,有时出于需要(比如屏蔽较大作用域的变量),在具有包含关系的作用域中定义类型和名称都相同的变量。 这是一种编程技巧,对于c/c++来说也是合法的。
但是,在java中,这种做法会导致报错“Duplicate local variable variable”,(这是Eclipse的错误提示)。在用Javac编译器编译时会提示“变量xx已经在xxx中定义”。
之所以会有这种错误提示,是因为Java本身不允许,“Java设计者认为这样做会导致程序混乱”(来源于《Java编程思想》)。
3659
1008

被折叠的 条评论
为什么被折叠?