精华内容
下载资源
问答
  • 局部变量:直接写成员变量名 用本类的成员变量:this.成员变量名 用父类的成员变量:super.成员变量名 例子:↓ Father:父类中定义了 int num=10; Child extends Father:子类继承父类,并且自有成员变量 ...

    用局部变量:直接写成员变量名

    用本类的成员变量:this.成员变量名

    用父类的成员变量:super.成员变量名

    例子:↓

    Father:父类中定义了 int num=10;

    Child extends Father:子类继承父类,并且自有成员变量 int num=20;

    public class Child extends Father{

        int num=20;

        public void method(){

            int num=30; //此时父类成员变量、子类成员变量、子类方法中的局部变量三者重名

            System.out.println(num);           //输出30,此时调用的是局部变量num

            System.out.println(this.num);    //输出20,此时调用的是子类成员变量num

            System.out.println(super.num); //输出10,此时调用的是父类成员变量num

        }

    }

    觉得有用的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~

    展开全文
  • 全局变量 定义类中的变量叫做全局变量 ...JAVA中的全局变量和局部变量是允许重名的,但是如果方法体内使用该重名变量局部变量会覆盖全局变量,出了方法,局部变量被销毁,只剩下全局变量。 ...

    全局变量

    定义在类中的变量叫做全局变量
    它不需要显示初始化,会有默认值,在类中方法可以自由调用全局变量

    局部变量

    定义在类方法内的变量叫做局部变量
    它必须显示初始化,否则使用会通不过编译,局部变量只能在所定义的函数方法内使用,出了它所在的函数就会被销毁,不能再使用。

    全局变量和局部变量的重名问题

    JAVA中的全局变量和局部变量是允许重名的,但是如果在方法体内使用该重名变量时,局部变量会覆盖全局变量,出了方法,局部变量被销毁,只剩下全局变量。

    展开全文
  • 如果java的成员变量和局部变量重名 JAVA会用局部变量覆盖掉成员 只看楼主 收藏 回复 iehshx 淼沝 5 怎么样才能让两个变量都输出呢...

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

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


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

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

    广告
    局部变量优先,成员变量前加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 回复
      • 我也说一句

         

      顶楼上。


      同顶楼上


      在成员变量前+static 声明为类变量,才能在方法中直接调用

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

      这图或许有帮助


      收起回复
      • 5楼
      • 2012-11-03 12:37




        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 :嗯 我试试
          展开全文
        • 3.局部变量能否和成员变量重名

          千次阅读 2019-05-13 21:22:43
          可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量 B.可以,这时可用“local”关键字来指向局部变量 C.不能,局部变量不能与成员变量重名 D.不能,一个类中不能有重名变量,不管是成员变量...

          3.局部变量能否和成员变量重名?


          A.可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量

          B.可以,这时可用“local”关键字来指向局部变量

          C.不能,局部变量不能与成员变量重名

          D.不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量

           


          本题选A。

          java采用局部优先的思想。局部变量可以和成员变量相同,使用标识符调用时,优先使用局部变量。在实例方法中出现变量名相同时,可以使用this关键字来调用。

          展开全文
        • 局部变量能否和成员变量重名

          千次阅读 2019-06-13 15:03:00
          局部变量可以和成员变量重名,不加“this”修饰,优先使用最近的变量。 public class Mainceshi { private String a = "成员变量"; public void GetA() { String a = "局部变量"; System.out.println(this....
        • 全局变量与局部变量重名的情况

          千次阅读 2020-03-04 23:15:12
          当全局变量和局部变量出现重名时, 在局部变量作用域内,全局变量失效
        • 变量的作用域?...原因是所有定义的变量都是先内存中开辟该变量的存储位置,即变量存储栈中,当代码解释到该语句才会将值存在栈中,即值先不做处理,所以调用一个变量时计算机是先去栈中查找有没有该...
        • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼深度解析:C语言中有“作用域”的概念。譬如全局变量作用域为整个文件(准确的说是定义该全局变量的文件中该变量定义/声明之后的部分。...也就是说局部变量的作用域其...
        • //this 关键字:当局部变量和成员变量重名时,成员变量就会被隐藏,这是如果想在成员方法中使用成员变量,必须使用this 关键字 public class Fruit { public String color = "绿色"; public void harveat() { ...
        • 函数内部定义的局部变量与全局变量重名时,函数使用该变量的时候会以局部变量覆盖全局变量。也就是只有局部变量会起效果。此定义域中赋值等操作都不会使用到全局变量。 main函数或其他函数里定义了局部变量...
        • 成员变量和局部变量 注:所有的变量没有赋值是不能使用的!!! 两者的区别: 定义的位置不同: 成员变量:定义类中成员位置的变量,称为实例变量 / 类变量,类中方法外 局部变量:定义类中方法中 ...
        • 最近遇到一道题,全局变量和局部变量重名,如何把全局变量赋值为局部变量? 对于重名,显然是局部 覆盖 全局。但是这时使用全局变量到时没有涉及过。 对于c++而言,全局和局部重名,直接使用变量名是局部...
        • 父子类的继承关系中,如果成员变量重名,则创建子类对象,访问有两种方式: 直接通过子类对象访问成员变量 规则:等号左边谁,就优先用谁,没有则向上找 间接通过成员方法访问成员变量 规则:该方
        • 局部变量能否和全局变量重名

          千次阅读 2019-09-16 09:53:33
           局部变量可以全局变量同名,函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,同一个函数内可以定义多个同名的局部变量,比如两个循环体内都定义一个同名的局部变量...
        • 局部变量优先级比全局变量优先级高,这本没什么,但若局部变量与全局变量重名,那就有的说了,看代码: var str='test'; function shuchu(){  document.write(str+'');  var str='world';  document.write...
        • C++中局部变量可否全局变量重名

          千次阅读 2019-01-19 14:11:31
          此问题研究的是变量的作用域的问题。一个声明将一个名字引进一个作用域;局部变量(通常函数中定义)的作用域是...全局变量重名局部变量可以屏蔽全局变量,如果想块内使用全局变量需要通过作用域解析运算符...
        • 不过c#,java中的局部变量全局变量作用域内则不允许全局变量名相同,而c语言是允许这样做的。这样的做法极不提倡,但是c语言既然允许这么做,就分析一下其变量名相同时不同位置调用该变量名所实际调用的...
        • 调用的时候呢: 局部变量: 直接写成员变量名 ...我再定义一个子类,继承父类,并且有它自己的成员变量,定义一个成员方法,成员方法里面定义局部变量。再来输出: package cn.itcast.day0608.demo0
        • 局部变量可以全局变量同名,函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,同一个函数内可以定义多个同名的局部变量,比如两个循环体内都定义一个同名的局部变量,...
        • 成员变量与局部变量

          2020-03-07 23:07:20
          成员变量与局部变量 package demo; public class Test { static int s; int i; int j; { int i = 1; i++; j++; s++; } public void test(int j) { j++; i++; s++; } public static void main...
        • /**********************************************...*函数内部定义的局部变量与全局变量重名时,函数使用该变量的时候会以局部变量覆盖全局变量,也就是只有局部变量会起效果。 ********************************...
        • 成员函数的形参 成员变量重名

          千次阅读 2017-03-05 18:40:40
          成员函数的形参 成员变量重名 定义函数该如何使用形参和成员变量class User { int a,b; public: calculate(int a,double b); };当定义函数calculate,直接使用a,b代表的是形参(可以理解为一般程序中...

        空空如也

        空空如也

        1 2 3 4 5 ... 20
        收藏数 27,944
        精华内容 11,177
        关键字:

        在成员变量与局部变量重名时