Java中的成员变量与局部变量
局部变量
局部变量在方法、构造函数或代码块中声明。
进入方法、构造函数或代码块时创建局部变量,退出方法、构造函数或代码块时销毁变量。
局部变量不能使用访问修饰符。
局部变量仅在其声明的方法、构造函数或代码块内可见。
局部变量在内部以栈的方式实现。
局部变量没有默认值,因此在首次使用前应声明并赋值。
实例/成员变量
实例变量在类中声明,但在方法、构造函数或任何代码块之外。
当在堆中为对象分配空间时,会为每个实例变量值创建一个槽。
使用关键字“new”创建对象时创建实例变量,销毁对象时销毁实例变量。
实例变量保存必须被多个方法、构造函数或代码块引用的值,或者对象状态的重要部分,这些部分必须贯穿整个类。
实例变量可以在类级别在使用之前或之后声明。
可以为实例变量指定访问修饰符。
实例变量对类中的所有方法、构造函数和代码块可见。通常建议将这些变量设为私有(访问级别)。但是,可以使用访问修饰符为子类提供这些变量的可见性。
实例变量具有默认值。对于数字,默认值为0;对于布尔值,为false;对于对象引用,为null。可以在声明期间或在构造函数中赋值。
可以通过在类内调用变量名直接访问实例变量。但是,在静态方法中(当实例变量具有可访问性时),应使用完全限定名调用它们:ObjectReference.VariableName。
广告