成员变量和局部变量的问题。

来源:8-5 Java 中的成员变量和局部变量

进击的佳娃

2015-04-12 11:42

老师讲:当两类变量同名时,方法会优先使用局部变量。也称之为“就近原则”。那么问题来了,这里讲的“优先使用”是说方法会优先使用局部变量但是还是会出现使用成员变量的情况,还是说方法在任何情况下都只会使用局部变量呢?如果是前面那种意思,那在什么情况会使用成员变量而不是局部变量呢?

写回答 关注

2回答

  • Java暗影
    2015-09-18 16:55:32

    1、局部变量和成员变量的作用域不同;局部变量在方法内部(方法开始到结束);成员变量作用域是整个类(从类开始到结束);

    2、成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值

    3、成员变量可以被public、protected、default、private、static、final修饰符修饰,局部变量只能被final修饰符修饰。

    4、成员变量在堆里进行创建,局部变量在栈里进行创建。

  • 夕落
    2015-04-12 22:42:23

    当方法中存在一个局部变量和成员变量同名时,使用的都是局部的变量,不会使用成员变量。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530643 学习 · 6091 问题

查看课程

相似问题