实例变量和局部变量

这次来看一下实例变量和局部变量的区别。

  • 实例变量:声明在一个类中,但在方法、构造方法和语句块之外。从属于对象;如果不自行初始化,是默认值

  • 默认值:基本数据类型为0或0.0,布尔值默认为false。除了基本类型,其他默认值都是null。

  • 当一个对象被实例化之后,每个实例变量的值就跟着确定;

  • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;

  • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;

  • 实例变量可以声明在使用前或者使用后;

  • 访问修饰符可以修饰实例变量;

  • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;

  • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;

  • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。

public class Demo{
    //实例变量
    String name;
    int age;
    
    
    public static void main(String[] args){
        Demo demo = new Demo();
      //变量类型  变量名 = new Demo();
        System.out.println(demo.age);
    }
}
  • 局部变量:只声明在方法、构造方法或者语句块中,只在声明它的方法、构造方法或者语句块中可见。

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

  • 局部变量只在声明它的方法、构造方法或者语句块中可见;

  • 局部变量是在栈上分配的。

  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

    public static void main(String[] args){
        int i = 1;
        //局部变量
    }
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容