天天看点

Java类的静态变量和实例变量

类的成员变量有2种:一种是被static关键字修饰的变量,叫类变量或静态变量,另一种是没有被static关键字修饰的变量,叫实例变量。

静态变量和实例变量的区别在于:

1.类的静态变量在内存中只有一个,Java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于演绎法我,被类的所有实例共享。

静态变量可以直接通过类名被访问。静态变量的生命周期取决于类的生命周期,当加载类的时候静态变量被创建并分配内存,

当卸载类的时候,静态变量被销毁并撤销所占内存。

2.类的每个实例都有相应的实例变量。每创建一个类的实例,Java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中。

实例变量的生命周期取决于实例的生命周期,当创建实例的时候,实例变量被创建并分配内存,当销毁实例的时候,实例变量

被销毁并撤销所占内存。