7个回答
展开全部
java里面,在同一个作用域下,不能定义一样的标识符(也就是你做说的变量名)。为什么呢?因为,他需要保证你在某个作用于下使用某个标识符的时候,JVM能够正确进行区分!所以,实际上,全局变量和局部变量和内存并不存在绝对直接的关系。实际上,不管是全局的还是局部的变量,他的标识都是保存在栈里面的。
成员变量作用域在整个类,方法中为什么可以再重复定义?
因为在java中,局部定义的变量能够覆盖全局范围内的变量。在局部使用某个变量的时候JVM会优先找和当前使用位置"近"的变量的的定义!如果在局部定义了和全局变量一样的名字,我们使用的过程中,调用全局变量的话,会使用this关键字辅助。
成员变量作用域在整个类,方法中为什么可以再重复定义?
因为在java中,局部定义的变量能够覆盖全局范围内的变量。在局部使用某个变量的时候JVM会优先找和当前使用位置"近"的变量的的定义!如果在局部定义了和全局变量一样的名字,我们使用的过程中,调用全局变量的话,会使用this关键字辅助。
追问
可以举一个简单的例子说明一下呢???谢谢
本回答被网友采纳
展开全部
就是编译器使用同名变量时候未能明确到底使用哪个变量时候就会出现重复局部变量。涉及作用域问题
展开全部
也就是说在一个类中,出现两个相同的成员变量,这样就会发生应该冲突。
展开全部
怎么说呢?int a; int a;
这样是编译不过的。会报错。这个概念有什么意义呢,能写程序就行。又不是说文解字。
这样是编译不过的。会报错。这个概念有什么意义呢,能写程序就行。又不是说文解字。
追问
可以举一个简单的例子说明一下呢???谢谢
追答
只有全局变量和局部变量的问题。不存在重复的局部变量。因为那样是编译不过的
public class StringTest01 {
private int a =1;
public static void main(String[] args) {
int a = 2;
System.out.println(a);
}
}
result is 2
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询