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
展开
 我来答
百度网友1b3b4163e5
推荐于2017-11-23 · TA获得超过286个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:185万
展开全部
可以通过给成员变量名添加前缀的方式。
比如这个题目。如果类名为A.则
System.out.println("Time输出值:"+time);//输出局部变量的值
System.out.println("成员变量Time输出值:"+A.time);//输出成员变量的值
workpageyi
2010-04-18 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:151
采纳率:100%
帮助的人:88.9万
展开全部
你只要弄清楚了,变量的作用域,就好解决了啊,java中,变量的作用域,一般是从定义开始,到该变量所在的花括号结束,出了花括号就不起作用了。
如果在局部变量中,第一了和成员变量相同的变量,局部变量将覆盖掉成员变量。
在这里,你如果想将两个time都输出的话,只要在类中再写一个输出的方法,或者直接 System.out.println("成员变量time:"+time);
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c807387
2010-04-13 · 超过14用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:42万
展开全部
楼主这样只能输出局部变量,全局变量被隐藏掉了。
可以这样输出全局变量,如下:
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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自六洞山给力的银木
2015-09-16 · TA获得超过164个赞
知道答主
回答量:68
采纳率:0%
帮助的人:19.4万
展开全部
通过给成员变量名添加前缀的方式

例如 A 类 里面的成员变量 B 和 局部变量 b
访问全局变量即成员变量 直接用类名点变量名 A.B
访问局部变量 可直接打变量名 b 或者 加this 如 this.b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
离卡心年1V
2010-04-13
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
默认输出是局部变量,因为你是在MAIN方法中,而MAIN方法又是STATIC的,所以不能用this关键字,正常如果重名,可以利用this.time来调用成员变量的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式