Java 类中的成员变量与局部变量重名时,怎么分别出成员变量和局部变量的值
例:staticinttime=3;publicstaticvoidmain(String[]args){inttime=4;//局部变量可以和成员变量名相同System...
例:
static int time=3;
public static void main (String[] args){
int time =4;//局部变量可以和成员变量名相同
System.out.println("Time输出值:"+time);
}
怎么分别输出成员变量的值 time 和局部变量的值 time 展开
static int time=3;
public static void main (String[] args){
int time =4;//局部变量可以和成员变量名相同
System.out.println("Time输出值:"+time);
}
怎么分别输出成员变量的值 time 和局部变量的值 time 展开
8个回答
展开全部
你只要弄清楚了,变量的作用域,就好解决了啊,java中,变量的作用域,一般是从定义开始,到该变量所在的花括号结束,出了花括号就不起作用了。
如果在局部变量中,第一了和成员变量相同的变量,局部变量将覆盖掉成员变量。
在这里,你如果想将两个time都输出的话,只要在类中再写一个输出的方法,或者直接 System.out.println("成员变量time:"+time);
就可以了
如果在局部变量中,第一了和成员变量相同的变量,局部变量将覆盖掉成员变量。
在这里,你如果想将两个time都输出的话,只要在类中再写一个输出的方法,或者直接 System.out.println("成员变量time:"+time);
就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主这样只能输出局部变量,全局变量被隐藏掉了。
可以这样输出全局变量,如下:
static int time=3;
public static void main (String[] args){
int time =4;//局部变量可以和成员变量名相同
System.out.println("Time输出值:"+time);
print();
}
void print(){
System.out.println("Time输出值:"+time);
}
可以这样输出全局变量,如下:
static int time=3;
public static void main (String[] args){
int time =4;//局部变量可以和成员变量名相同
System.out.println("Time输出值:"+time);
print();
}
void print(){
System.out.println("Time输出值:"+time);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过给成员变量名添加前缀的方式
例如 A 类 里面的成员变量 B 和 局部变量 b
访问全局变量即成员变量 直接用类名点变量名 A.B
访问局部变量 可直接打变量名 b 或者 加this 如 this.b
例如 A 类 里面的成员变量 B 和 局部变量 b
访问全局变量即成员变量 直接用类名点变量名 A.B
访问局部变量 可直接打变量名 b 或者 加this 如 this.b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
默认输出是局部变量,因为你是在MAIN方法中,而MAIN方法又是STATIC的,所以不能用this关键字,正常如果重名,可以利用this.time来调用成员变量的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询