精华内容
下载资源
问答
  • 局部变量:直接写成员变量名 用本类的成员变量: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 :嗯 我试试
    展开全文
  • 局部变量能否和成员变量重名

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

     局部变量可以和成员变量重名,不加“this”修饰时,优先使用最近的变量。

    public class Mainceshi {
        private String a = "成员变量";
    
        public void GetA() {
            String a = "局部变量";
            System.out.println(this.a);
            System.out.println(a);
        }
    
        public static void main(String[] args) {
            Mainceshi mainceshi = new Mainceshi();
            mainceshi.GetA();
        }
    }

    打印出来

    成员变量
    局部变量

     

    JAVA访问变量采用就近原则,局部变量与成员变量重名时,局部变量比较近,使用局部变量

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


    成员变量:就是声明为类的属性的变量。 静态变量(也叫做类变量):就是声明为静态属性的变量。 局部变量:就是方法里面声明的变量。 volatile变量:和多线程相关,用于简化同步的变量 transient变量:用于使该变量不会被持久化 final变量:基本上就是常量

     

     

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

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

    千次阅读 2020-03-04 23:15:12
    全局变量和局部变量出现重名时, 在局部变量作用域内,全局变量失效
  • 局部变量能否全局变量重名

    千次阅读 2019-09-16 09:53:33
    1、局部变量能否全局变量重名?  答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: " (域解析符)  局部变量可以与全局变量同名,在函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。...
  • 局部变量: 直接写成员变量名 本类的成员变量: this.成员变量名 父类的成员变量: super.成员变量名 现在这里有一个父类,我定义了一个num,如下: package cn.itcast.day0608.demo05; public class Demo03FU { ...
  • 局部变量能否全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同...
  • 1、局部变量能否全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ; 局部变量可以与全局变量同名, 在函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。对于有些编译器 而言...
  • 局部变量全局变量重名的时候,局部会屏蔽全局变量,如果需要使用全局变量,需要使用“::"。 局部变量可以与全局变量同名,在函数内引用这个变量,...全局变量与局部变量重名时,局部变量对全局变量的屏蔽就是说

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,863
精华内容 10,745
关键字:

当成员变量和局部变量重名时