美文网首页
static关键字

static关键字

作者: 山的那边海的那边有太阳 | 来源:发表于2017-11-01 21:49 被阅读3次

static:权限修饰符,意思为静态的

一.static可以用来修饰成员变量

静态成员变量在内存中只维护了一份数据,非静态成员变量在创建每个对象时都维护了一份数据。

如果类里面有数据需要共享给所用对象使用,可以用static来修饰

访问方式:

        1.通过对象进行访问          对象.属性名

        2.通过类进行访问              类名.属性名

注意问题:

        1.非静态成员变量只能使用对象进行访问,不能使用类名进行访问

        2.不要为了访问方便就在成员变量前加static,只有这个属性需要共享给所有对象使用时才加static

二.static可以用来修饰函数

访问方式:

        1.通过对象进行访问          对象.方法名();

        2.通过类进行访问              类名.方法名();

注意问题:

        1.静态函数可以通过类名调用,非静态函数不能

        2.静态函数可以访问静态成员,不能访问非静态成员

        3.非静态函数可以访问静态和非静态成员变量

        4.静态函数不能出现this和super关键字

                   因为静态函数是在对象之前存在的,而this关键字代表所属函数调用者对象,发生冲突

静态数据的声明周期:静态的成员变量数据是优先于对象存在的

静态成员变量和非静态成员变量的区别:

        1.作用上的区别

                  静态成员变量是共享一份数据给所有对象使用

                 非静态成员变量是描述一类事物的公共属性

        2.数量与存储位置上的区别

                 静态成员变量存储在方法区,只存在一份数据

                 非静态成员变量存储在堆内存中,有n个对象存储n份数据

        3.生命周期的区别

                  静态成员变量随着类文件的加载而存在,类文件的消失而消失

                 非静态成员变量随着对象的创建而存在,对象的消失而消失

相关文章

  • OC中static、const、extern关键字理解

    static关键字 static关键字用于修饰变量。 static修饰局部变量当使用static修饰局部变量时, ...

  • static关键字

    Static关键字概述 static(静态)关键字可以用于修饰变量、方法和代码块。我认为static关键字的主要用...

  • 【Java】关键字

    一、 static关键字 static关键字的总结: static关键字 可以再没有创建对象的时候进行调用类的元素...

  • Java学习Day03

    今日学习内容总结 Static关键字 Arrays类 Math类 继承 Static关键字 一旦用了static,...

  • java基础-day11-static关键字

    static关键字和接口 1. static关键字【重点】 1.1 static修饰静态成员变量 1.1.1 为什...

  • C语言中的static关键字

    @TOC C语言中的static关键字 static 关键字,意为静态。 static 变量 特性:全局变量在函数...

  • Static关键字

    C语言中的static关键字和Java的static关键字意义不一样。 1 用static修饰函数 static用...

  • C基础知识

    基础问题 1.static关键字和const关键字。 static: 作用于变量时:用static声明局部变量--...

  • 13.面向对象进阶—静态关键字static

    面向对象进阶 静态关键字static static关键字的作用,修饰成员变量的用法 static是静态的意思,可以...

  • Java学习13:static关键字,this关键字

    static关键字 static翻译为“静态的”。所有static关键字修饰的都是类相关的,类级别的。所有stat...

网友评论

      本文标题:static关键字

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