java类的成员变量有两种:

 

1、类变量或者叫做静态变量,也就是被static修饰的

 

2、成员变量

 

 

区别:

 

1、类变量在内存中只有一个,它不属于哪个实例,而是属于此类。

     java虚机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。

     静态变量可以通过类名来直接方位,它的生命周期取决于类的生命周期。

 

2、成员变量属于某个实例,java虚机为成员变量分配一次内存,位于堆区(也就是对象的存储区域)。

     其生命周期取决于实例的生命周期。

 

 

顺便说一下初始化的顺序:

 

1、加载类

 

2、静态变量初始化

 

3、静态块

 

4、成员变量

 

5、构造方法