如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员

如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员

  • 只看楼主
  • 收藏

  • 回复
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第1张图片
  • iehshx
  • 淼沝
    5
怎么样才能让两个变量都输出呢?在变量名相同的情况下?为什么?
例:public class LianXi1{int i=5;public static void main(String[]args) {int i=6;}}


  • 回复
  • 1楼
  • 2012-11-03 11:52
  • 举报 |个人企业举报垃圾信息举报
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第2张图片
  • 北京无忧创想信息技术有限公司

[官方]2017java培训>java实战>十九提倡的IT技术

51CTO学院11年行业品牌,1400万用户选择,中国专业IT技能学习平台,java.java资深名师授课,4980元学java课程,java报名与培训中心.

广告
  • 1yhmqrmm
  • 1
局部变量优先,成员变量前加this.


收起回复
  • 2楼
  • 2012-11-03 12:27
  • 举报 |个人企业举报垃圾信息举报
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第3张图片
    iehshx:  怎么加?我才接触class
    2012-11-3 13:38 回复
  • 1yhmqrmm:  回复 iehshx :创建类的实例,用对象的引用.i获得成员变量,静态成员变量通过类名.直接获取
    2012-11-3 14:09 回复
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第4张图片
    iehshx:  回复 1yhmqrmm :没学对象 就不能输出吗
    2012-11-3 14:16 回复
  • 1yhmqrmm:  在int i=6;后面加[$1] LianXi1 lx = new LianXi1(); System.out.println("局部变量i:"+i+"\n"+"成员变量i:"+lx.i);
    2012-11-3 16:15 回复
  • 我也说一句

     

  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第5张图片
  • lsgggg123
  • 淼淼淼沝
    11
顶楼上。


回复
  • 3楼
  • 2012-11-03 12:27
  • 举报 |个人企业举报垃圾信息举报
如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第6张图片
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第7张图片
  • 很久没用的右手
  • 淼淼水
    7
同顶楼上


回复
  • 4楼
  • 2012-11-03 12:31
  • 举报 |个人企业举报垃圾信息举报
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第8张图片
  • 一坏人一
  • 淼淼沝
    8
在成员变量前+static 声明为类变量,才能在方法中直接调用

否则得先创建对象,调用该对象的成员变量

这图或许有帮助
如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第9张图片


收起回复
  • 5楼
  • 2012-11-03 12:37
  • 举报 |个人企业举报垃圾信息举报
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第10张图片
    iehshx:  才开始学 没接触对象
    2012-11-3 13:40 回复
  • 我也说一句

     

  • 379081047xu
  • 淼淼水
    7


回复
  • 6楼
  • 2012-11-03 14:08
  • 举报 |个人企业举报垃圾信息举报
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第11张图片
  • schoeu
  • 淼淼淼沝
    11


回复
  • 7楼
  • 2012-11-03 14:29
  • 举报 |个人企业举报垃圾信息举报
  • beijing888life
  • 1
public class LianXi1{int i=5;public static void main(String[]args)  {int i=6;System.out.println(i);} pulibc void getGlobalVar(){System.out.println(i);}}
第一个输出的i为局部变量,第二个为全局变量


收起回复
  • 8楼
  • 2012-11-03 14:40
  • 举报 |个人企业举报垃圾信息举报
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第12张图片
    iehshx:  是要重新再定一个方法吗
    2012-11-3 15:16 回复
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员_第13张图片
    iehshx:  回复 iehshx :我试着运行了你给的 不行 有错误
    2012-11-3 15:18 回复
  • beijing888life:  回复 iehshx :嗯 我试试

你可能感兴趣的:(java基础)