java之static关键字解析

    xiaoxiao2021-03-25  64

    关于static关键字

    static关键字

    (1)static的特点:

      a)static是一个修饰符,用于修饰成员。

      b)static修饰的成员被所有的对象所共享。

      c)static优先于对象存在,因为static的成员随着类的加载就已经存在了

      d)static修饰的成员多了一种调用的方式,直接可以通过类名调用。

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

    (2)成员变量和静态变量的区别:

      a)两个变量的生命周期不同

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

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

      b)调用方式不同。

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

        静态变量可以被对象调用,还可以被类名调用。

      c)别名不同

        成员变量(实例变量)

        静态变量(类变量)

      d)数据存储位置不同。

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

        静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。一个对象修该静态属性值后,会影响其他对象。

      e)静态使用的注意事项:

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

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

    注:main()为程序的主方法,该方法前添加static修饰,是与类相关的。Java解释器运行时将会寻找该方法,因为解释器调用该方法是,还没来得及创建当前类的对象,因此不能定义成与对象相关。这也是为什么主方法是静态的。调用静态方法会使得类被加载。

    转载请注明原文地址: https://ju.6miu.com/read-34130.html

    最新回复(0)