zoukankan      html  css  js  c++  java
  • 10,静态变量和实例变量的区别?

    1.从语法上的区别:

            静态变量前面要加static关键字,而实例变量前不加

    2.在程序运行时的区别:

           实例变量属于某个对象的属性,必须 创建了实例对象,其中的实例变量才会 被分配到空间,

    才能使用这个实例变量。静态 变量不属于某个 实例对象,而是属于类,所以称为类变量 ,只要程序加载了

    类的字节码,不用创建任何实例对象,静态变量就会被分配到空间,静态变量就可以被使用了 。

    总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

    代码如下:

    public class Test {
        
        public static int staticVar = 0;
        
        public int  instanceVar = 0;
        
        
        
        public Test(){
            
            staticVar++;
            
            instanceVar++;
            
            System.out.println("staticVar="+staticVar);
            
            System.out.println("instanceVar="+instanceVar);
            
        }
        
        public static void main(String[] args) {
               Test v =  new Test();
               Test v1 =  new Test();
               Test v3 =  new Test();
        }

    }

    运行结果 如下:

    staticVar=1
    instanceVar=1
    staticVar=2
    instanceVar=1
    staticVar=3
    instanceVar=1

    代码分析:

    无论创建多少个实例对象(Test v =  new Test();),永远都只分配了一个staticVar变量

    并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,

    即可能分配多个instanceVar,并且每个instanceVar的值都只加了一次

  • 相关阅读:
    sql中触发器的使用
    sql中优化查询
    sql中case when语句的使用
    CSRF学习小结
    javascript正则表达式笔记
    elementUI单选框获取值
    elementUI内置过渡(折叠)
    elementUI内置缩放过渡(缩放)
    elementUi内置过渡动画(淡入)
    创建koa2项目
  • 原文地址:https://www.cnblogs.com/helenwq/p/11648845.html
Copyright © 2011-2022 走看看