问答详情
源自:8-9 Java 中的 static 使用之静态方法

局部变量与静态变量的优先级和调用

1)局部变量可不可以与非静态成员变量重名?

2)局部变量和非静态成员变量同名时,局部变量的优先级更高。如果重名了,静态成员变量是否优先级跟非静态成员变量相同? 如果重名了,成员变量是不是可以通过对象名.成员变量调用?

提问者:大唐雨夜 2016-10-25 10:13

个回答

  • EKKOY
    2017-01-26 15:58:44

    1)可以重名

    2)静态成员变量数据存储在方法区(共享数据区)的静态区,也叫对象的共享数据,生命周期与类共存亡。

         成员变量存储在堆内存的对象中,是对象的特有数据,生命周期与对象共存亡。

         静态成员变量可以通过类直接调用或者创建对象调用。

  • 前端大神是我的梦
    2016-10-25 11:35:52

    1)可以同名

    2)静态成员变量就在加载类时分配了内存,先保存初始值,后边如果对其进行修改的话,则会丢掉初始值,其他成员变量不可与静态成员变量重名,更与优先级无关,,,静态成员变量的调用的方法有三种,普通成员变量就要创建对象来调用。

  • 我要留大连
    2016-10-25 11:18:16

    1)局部变量可以与全局变量同名,局部会屏蔽全局。要用全局变量,需要使用 ":: "