zoukankan      html  css  js  c++  java
  • 3,static

    1,static可以减少内存空间的使用

    2,static 是一个修饰符,可以修饰成员(成员变量,成员函数),

    3,当成员被static修饰后,就多了一种调用方式(不仅可以通过变量调用,也可以通过类名)

    4,

    右边:堆

    左边:栈

    中间:方法区,共享区,数据区(static成员,方法)

    5,static特点

    (1)static随类的加载而加载,随着类的消失而消失(static的生命周期最长)

    (2)优先于对象的存在(静态是在先存在的,变量是后存在的)

    (3)被所有对象共享

    (4)可以直接被类名所调用

    6,不建议定义过多的static对象,static对象声明周期特别长,对内存的消耗特别大,

    7,实例变量,类变量的区别

    (1)类变量随着类的加载保存在方法区中

      实例变量随着对象的创建保存在堆内存中

    (2) 类变量生命周期最长

      实例变量随着对象的消失而消失

    8,静态使用注意事项

    (1)静态方法只能访问静态成员(静态方法加载时非静态的变量还未加载)

    (2)静态方法不可以使用this,super关键字(静态方法优先于对象存在)

    (3)main是静态的

    9.静态有利有弊

    利:

    (1)对对象的共享数据进行单独空间存储,节省内存。

    (2)可以直接被类调用

    弊端:

    (1)生命周期过长

    (2)访问出现局限性

    静态虽好,但是只能访问静态

  • 相关阅读:
    ixgb 中断
    libvirt
    docker 查看虚拟机xml
    什么是可串行化MVCC
    算法题:实现 strStr()函数
    Python库 numpy基础内容学习笔记
    python3.6+torch1.2实现Sentiment Analysis(数据集MR)
    人工智能能力提升指导总结
    深度学习入门篇01(Tensorflow-gpu的安装)
    走进PEP8——代码规范
  • 原文地址:https://www.cnblogs.com/exexex/p/8379489.html
Copyright © 2011-2022 走看看