Java中的成员变量与局部变量


局部变量

  • 局部变量在方法、构造函数或代码块中声明。

  • 进入方法、构造函数或代码块时创建局部变量,退出方法、构造函数或代码块时销毁变量。

  • 局部变量不能使用访问修饰符。

  • 局部变量仅在其声明的方法、构造函数或代码块内可见。

  • 局部变量在内部以栈的方式实现。

  • 局部变量没有默认值,因此在首次使用前应声明并赋值。

实例/成员变量

  • 实例变量在类中声明,但在方法、构造函数或任何代码块之外。

  • 当在堆中为对象分配空间时,会为每个实例变量值创建一个槽。

  • 使用关键字“new”创建对象时创建实例变量,销毁对象时销毁实例变量。

  • 实例变量保存必须被多个方法、构造函数或代码块引用的值,或者对象状态的重要部分,这些部分必须贯穿整个类。

  • 实例变量可以在类级别在使用之前或之后声明。

  • 可以为实例变量指定访问修饰符。

  • 实例变量对类中的所有方法、构造函数和代码块可见。通常建议将这些变量设为私有(访问级别)。但是,可以使用访问修饰符为子类提供这些变量的可见性。

  • 实例变量具有默认值。对于数字,默认值为0;对于布尔值,为false;对于对象引用,为null。可以在声明期间或在构造函数中赋值。

  • 可以通过在类内调用变量名直接访问实例变量。但是,在静态方法中(当实例变量具有可访问性时),应使用完全限定名调用它们:ObjectReference.VariableName。

更新于:2020年2月24日

1K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告