zoukankan      html  css  js  c++  java
  • JAVA中static关键字

    用法:是一个修饰符,用于修饰成员(成员变量,成员函数),不能用于修饰局部变量!被static修饰后,就多了一种调用方式,除了可以被对象调用外,还可以直接被类名调用,写法格式是:类名.静态成员。
    优点:被static修饰的成员或变量单独存放在一段内存空间里面,被所有对象实例共享,不必再在形成对象实例的过程中再为其开辟一段内存空间,以达到节省内存的作用。
    什么时候用修饰静态变量(类变量)?
    是所有对象共有且不变的内容用static修饰,对象所特有的内容随着对象的建立一起存储。
    什么时候定义静态函数?
    当某函数内部没有访问到非静态数据(对象所特有数据),那么该功能可以定义成静态的。
    特点:
    1,随着类的加载而加载,也就是说会随着类的消          失而消失,说明他的生命周期最长。
    2,优先于对象存在。明确一点:静态先存在,对象后存在。
    3,被所有对象所共享。
    4,可以直接被类名调用。

     

    实例变量和类变量:
    1  存在位置:类变量随着类的加载而加载于方法区中;实例变量随着对象的建立而存在于堆内存中。
    2  生命周期:类变量生命周期最长,随着类的消失而消失;实例变量随着对象建立而存在,随着对象消失而消失。

     
     

    静态使用注意事项:
    1 静态方法只能访问静态成员或方法。非静态方法可以访问非静态变量,也可以访问静态变量或方法。
    2 静态方法中不可以定义this,super关键字,因为静态优先于对象存在(this指代的是调用该方法的对象,而静态存在的时候对象还不存在),所以静态方法中不可以出现this。
    3 主函数是静态的。

     
     

    静态利弊:
    利:对对象的共享数据进行单独空间的存储,节省空间,没有必要每个对象中都存储一份。可以直接被类名调用。
    弊:生命周期过长。访问出现局限性(静态只能访问静态) 

  • 相关阅读:
    redis同步指定key数据到其他redis中
    Golang 生成随机数
    怎么理解“平均负载”? 进行分析等
    Golang打印空心金字塔for循环实现
    python十几行代码实现三级菜单
    mysql增量恢复
    python内建函数
    python练习题总结
    迭代器和生成器
    python基础数据类型
  • 原文地址:https://www.cnblogs.com/heimianshusheng/p/4827241.html
Copyright © 2011-2022 走看看