美文网首页
static关键字

static关键字

作者: Jonath | 来源:发表于2016-11-10 21:22 被阅读0次

    static:静态的   特点:1:其修饰的成员变量随着类的加载就在方法区中的静态区开辟内存, 优先于非static修饰的成员变量开辟内存

    2:修饰的成员变量是该类的所有对象共存,节约内存

    3:可以通过类名和对象访问静态成员变量

    静态成员变量和非静态成员变量得区别

    1:存储数据

    静态成员变量存储的是所有对象共享的数据

    非静态成员变量存储的是每一个实例化对象特有的数据

    2:存储位置

    静态成员变量是随着类的加载就在方法区中的静态区开辟内存了

    非静态成员变量是随着每个实例化对象的创建在堆中开辟内存

    3:调用方式

    静态成员变量既可以通过对象访问也可以通过类名直接访问

    非静态成员变量只能通过对象访问

    4:生命周期

    静态成员变量是随着类的加载就在方法区中的静态区中创建,程序结束才被释放

    非静态成员变量是随着对象的创建在堆中出现,随着对象被垃圾回收而消失

    实例成员变量---->>非静态成员变量

    类变量----->>静态成员变量

    实例成员函数---->>非静态成员函数(既可以访问非静态成员变量,也可以静态成员变量)

    类函数----->>静态成员函数(函数内只能使用静态成员变量,不能访问非静态成员变量)

    什么时候用static修饰

    当成员变量需要被雷的所有对象共享时,当成员函数没有用到其所属的类的任何非静态成员时用static

    相关文章

      网友评论

          本文标题:static关键字

          本文链接:https://www.haomeiwen.com/subject/hwrnsttx.html