• Java 变量类型


    Java 变量类型

    Java变量类型有 局部变量, 成员变量(实例变量), 静态变量

    局部变量

    变量声明

    • 局部变量声明在方法,构造方法或者代码块中

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

      public void demo() {
          int a = 1;
          System.out.println(a);
      }
      

    初始化

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

    作用域

    • 局部变量只在声明它的方法,构造方法或者代码块中可见

    生命周期

    • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;

    存储位置

    • 局部变量存在栈上分配

    成员变量(实例变量)

    变量声明

    • 成员变量声明在类中,方法,构造方法,代码块外面

    • 访问修饰符可以修饰成员变量

    • 实例变量可以声明在使用前或者使用后(建议在使用前)

      public class A {
          private int a;
      }
      

    初始化

    成员变量具有默认值, 成员变量的值可以在声明时指定,也可以在构造方法中指定

    • 数值型变量的默认值是0
    • 布尔型变量默认是false
    • 引用类型变量默认是null

    作用域

    • 实例变量的值应该至少被一个方法、构造方法或代码块引用,使外部能够通过这些方式获取实例变量信息
    • 实例变量对于类中的方法、构造方法或代码块是可见的。一般情况下应该把实例变量设为私有,通过构造方法获取成员变量的值或对它进行赋值

    生命周期

    • 成员变量在对象创建的时候创建,在对象被销毁的时候销毁

    存储位置

    • 成员变量在堆上分配

    访问

    • 实例模块可以直接通过变量名访问(非静态方法,不包括main方法 )
    • 在静态方法中(包括mian方法),应该通过全限定名访问

    静态变量

    变量声明

    • 静态变量声明在类中,方法外
    • 类变量被声明为public static final类型时,类变量名称一般建议使用大写字母
    • 静态变量除了被声明为常量外很少使用。
      • 常量是指声明为public/private,final和static类型的变量。
      • 常量初始化后不可改变

    初始化

    成员变量具有默认值, 成员变量的值可以在声明时指定,也可以在构造方法中指定,还可以在静态代码块中初始化

    • 数值型变量默认值是0
    • 布尔型默认值是false
    • 引用类型默认值是null

    作用域

    • 实例变量对于类中的方法、构造方法或代码块是可见的
    • 但为了对类的使用者可见,大多数静态变量声明为public类型

    生命周期

    • 静态变量在程序开始时创建,在程序结束时销毁

    存储位置

    • 静态变量存储在方法区

    三种变量之间的区别

    局部变量 成员变量 静态变量
    定义位置 方法中,或者方法的形式参数 类中,方法外 类中,方法外
    初始化值 没有默认值,定义赋值后才能使用 有默认初始化值 有默认初始值
    调用方式 只能在方法内部使用 对象调用 对象调用
    存储位置 方法区
    生命周期 与方法共存亡 与对象共存亡 与类共存亡
    别名 实例变量 类变量
  • 相关阅读:
    C语言中的复合类型
    C语言中的函数与指针
    C语言中的循环结构与选择结构
    C语言中的运算符
    C语言中的变量
    毕业论文查重网站
    Protocol and Delegate协议和代理
    NSArray与NSMutableArray 数组与可变数组
    UI复习
    NSString方法与NSMutableString方法
  • 原文地址:https://www.cnblogs.com/xly1029/p/14044446.html
Copyright © 2020-2023  润新知