JAVA中的static关键字作用与用法

static关键字:

一、特点:

  1、static是一个修饰符,用于修饰成员。(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量。

  2、static修饰的成员被所有的对象共享。

  3、static优先于对象存在,因为static的成员随着类的加载就已经存在。

  4、static修饰的成员多了一种调用方式,可以直接被类名所调用,(类名.静态成员)。

  5、static修饰的数据是共享数据,对象中的存储的是特有的数据。


二、成员变量和静态变量的区别:

  1、生命周期的不同:

    成员变量随着对象的创建而存在随着对象的回收而释放。

    静态变量随着类的加载而存在随着类的消失而消失。

  2、调用方式不同:

    成员变量只能被对象调用。

    静态变量可以被对象调用,也可以用类名调用。(推荐用类名调用)

  3、别名不同:

    成员变量也称为实例变量。

    静态变量称为类变量。

  4、数据存储位置不同:

    成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。

    静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

三、静态使用时需要注意的事项:

  1、静态方法只能访问静态成员。(非静态既可以访问静态,又可以访问非静态)

  2、静态方法中不可以使用this或者super关键字。

  3、主函数是静态的

四、什么时候使用static来修饰

        1、静态变量:

                (1)当分析对象中所具备的成员变量的值都是相同的。这时这个成员就可以被静态修饰。

                (2)只要是数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的。

                (3)如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,是静态的。

        2、静态函数。

                (1)函数是否用静态修饰,就参考一点,就是该函数功能是否有访问到对象中特有的数据。

                (2)简单来说,从源代码看,该功能是否需要访问非静态的成员变量,如果需要,该功能就是非静态的。如果不需要,就可以将该功能定义成静态的。当然,也可以定义成非静态,但是非静态需要被对象调用,而仅创建对象是没有意义的。

        3、静态代码块:

                (1)随着类的调用或创建实例而执行,而且只执行一次。

                作用:用于给类进行初始化。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,188评论 18 399
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,999评论 8 265
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 5,438评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,819评论 0 10
  • 走进百年西安易俗社,观看由范紫东编剧的秦腔名剧《软玉屏》,感受秦腔的魅力。 上一次进易俗社,是1981年11月23...
    王赵民阅读 3,418评论 0 0

友情链接更多精彩内容