类的成员变量有两种:一种是被static关键字修饰的变量,叫类变量或静态变量,一种是没有被static修饰的,叫做实例变量 。
静态变量和实例变量的区别在于:
类的每一个实例都有相应的实例变量,每创建一个类的实例,java虚拟机为实例变量分配一次内存,实例变量位于堆区中,实例变量的生命周期取决于实例的生命周期,当创建实例时,实例变量同时被创建,并分配内存,当实例被销毁时,实例变量被销毁,并释放所占有的内存空间。
变量的生命周期和对象的生命周期是不同的概念。成员变量结束生命周期时,并不意味着它所引用对象也结束生命周期。