Java基础之变量

1 静态变量

1.1 定义

1.2 作用域

1.3 生命周期

1.4 初始化

2.局部变量

2.1 定义

2.2 作用域

2.3 生命周期

2.4 初始化


1 静态变量

1.1 定义

        静态变量在计算机编程领域指在程序执行前系统就为之静态分配(也即在运行时中不再改变分配情况)存储空间的一类变量,即除局部变量外的另一种变量种类。主要定义在类里,方法外,用static进行修饰。

1.2 作用域

        跟着大括号{}(整个类的内部是有效的,不随类产生的对象的不同而变化)。

1.3 生命周期

        伴随类在运行中的生命周期而运行的。

1.4 初始化

public static int age = 6;

        该语句是类的加载过程中被初始化的,因此先执行该语句,在执行main方法。

public static int a;0
public static double b;0.0
public static boolean c;false
public static String d;null

        在上述初始化中,没有给初始化的值,编译器默认给出值,其默认值为0的变形。而局部变量只能通过复制来进行初始化,没有默认值。

2.局部变量

2.1 定义

        局部变量是在运行时只暂时存在的自动变量,以动态分配方式获取存储空间的一些对象,是指在一个函数内部或复合语句内部定义的变量。其中自动变量的存储空间在调用栈上分配与释放。

2.2 作用域

        定义该变量的函数或定义该变量的复合语句。

2.3 生命周期

        从函数被调用的时刻算起到函数返回调用处的时刻结束。

2.4 初始化

int a = 0;

附:类是*.java 源代码经过编译得到*.class(类文件),其数据存于硬盘上,计算机的体系结构决定CPU中的数据要在内存上,因此需要将类的数据从硬盘上(以类文件为代表)加载到内存中,这个过程叫做类的加载。类的卸载是将放在内存中的类数据从内存中剔除。

        在类加载的过程中也会使用到静态变量和动态变量,因此在下面补充在类加载中的会出现的情况:

  • 某个类被用到的时候才触发加载,加载的数据有静态属性和方法;
  • 类被用到的情况:A.method(),A.main(),A.静态属性;
  • 类加载的语法(按照代码书写顺序依次执行)
  • public static int age = 6;
    static{}
  • JVM管理的内存区域有栈区和方法区,类的数据(静态属性和方法)被加载到方法区,而局部变量存储于栈区。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值