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

来源:互联网 发布:千牛和淘宝卖家 编辑:程序博客网 时间:2024/05/18 01:07

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

  • 只看楼主
  • 收藏

  • 回复
  • iehshx
  • 淼沝
    5
怎么样才能让两个变量都输出呢?在变量名相同的情况下?为什么?
例:public class LianXi1{int i=5;public static void main(String[]args){int i=6;}}


  • 回复
  • 1楼
  • 2012-11-03 11:52
  • 举报 |个人企业举报垃圾信息举报
    • 北京无忧创想信息技术有限公司

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

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

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


    收起回复
    • 2楼
    • 2012-11-03 12:27
    • 举报 |个人企业举报垃圾信息举报
      • iehshx: 怎么加?我才接触class
        2012-11-3 13:38回复
      • 1yhmqrmm: 回复 iehshx :创建类的实例,用对象的引用.i获得成员变量,静态成员变量通过类名.直接获取
        2012-11-3 14:09回复
      • 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回复
      • 我也说一句

         

      • lsgggg123
      • 淼淼淼沝
        11
      顶楼上。


      回复
      • 3楼
      • 2012-11-03 12:27
      • 举报 |个人企业举报垃圾信息举报
        • 很久没用的右手
        • 淼淼水
          7
        同顶楼上


        回复
        • 4楼
        • 2012-11-03 12:31
        • 举报 |个人企业举报垃圾信息举报
          • 一坏人一
          • 淼淼沝
            8
          在成员变量前+static 声明为类变量,才能在方法中直接调用

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

          这图或许有帮助


          收起回复
          • 5楼
          • 2012-11-03 12:37
          • 举报 |个人企业举报垃圾信息举报
            • iehshx: 才开始学 没接触对象
              2012-11-3 13:40回复
            • 我也说一句

               

            • 379081047xu
            • 淼淼水
              7


            回复
            • 6楼
            • 2012-11-03 14:08
            • 举报 |个人企业举报垃圾信息举报
              • 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
                • 举报 |个人企业举报垃圾信息举报
                  • iehshx: 是要重新再定一个方法吗
                    2012-11-3 15:16回复
                  • iehshx: 回复 iehshx :我试着运行了你给的 不行 有错误
                    2012-11-3 15:18回复
                  • beijing888life: 回复 iehshx :嗯 我试试
                  原创粉丝点击