JAVA 基础篇之静态变量与实例变量的区别

在 JAVA 日常开发中,我们在封装类的同时难免需要声明一些静态变量与实例变量。本篇主要讲解它们二者之间的一些区别。

首先在语法定义上:声明静态变量时需要在前面添加 static 关键字来修饰。实例变量则不需要。

然后再编译过程中的区别:静态变量属于静态存储方式,只要程序加载编译了当前类的字节码,不需要创建任何实例对象就可以直接调用静态静态变量(静态变量在类被编译后直接就会分配内存空间)。实例变量属于类对象的某一个属性,使用时需要对对象先进行实例话后才能调用(实例变量需要类对象实例后才会分配内存空间)。

举个很简单的例子:

    public class VariantDemo {
        public static int staticVar = 0;
        public int instanceVar = 0;

        public VariantDemo() {
            instanceVar = 1;
        }
    }
在这个测试类中分别声明了一个静态变量 staticVar 和实例变量 instanceVar 。在使用时
    public class TestClass {
        public static void main(String[] args) {
            //实例变量 instanceVar 的使用需要先实例化 VariantDemo 类
            VariantDemo variantDemo = new VariantDemo();
            int instanceVar = variantDemo.instanceVar;
            //静态变量可以通过 类名.变量名 直接使用
            int staticVar = VariantDemo.staticVar;

            System.out.print("staticVar=" + staticVar + "\ninstanceVar=" + instanceVar);
        }
    }

猜你喜欢

转载自blog.csdn.net/chu_cheng/article/details/80050328