静态变量:独立存在的变量,只是位置放在某个类下,可以直接类名加点调用静态变量名使用。并且是项目或程序一启动运行到该类时就直接常驻内存。不需要初始化类再调用该变量。用关键字static声明。静态方法也是同样,可以直接调用。
实例变量:就是相当于该类的属性,需要先初始化该类,就是new 该类后,才可以调用。但是该类未被再次使用,被垃圾回收器回收后,该实例也将不存在了,就是不在内存中了。
区别如下:
1、语法定义方面:静态变量前需要加static关键字修饰,实例变量前不加。
2、程序运行方面:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才被分配空间,才能使用这个实例变量。静态变量属于类,只要程序加载了类的字节码而不需要创建实例对象,静态变量就会被分配空间,就可以被使用。
3.存储区域不同:静态变量存储在静态存储区,普通变量存储在堆中;
4.静态变量与类相关,普通变量则与实例相关
5.生命周期不同。
了解更多java培训就业面试题欢迎关注小编!