Java之static理解

Posted nicknailo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之static理解相关的知识,希望对你有一定的参考价值。

  说到关键字static,首先想到了常量,静态变量,本文我总结了下static的用法。

  1、静态变量

       可以被赋值,便于类访问。

  2、静态方法

    静态方法与静态变量都可以被private、public修饰。

    当JVM加载类时,就会将类的静态方法和静态变量加载到方法区中。且只会加载一次,对所有线程共享,也就说其他线程可以更改方法区中的静态变量。

    static final 可以修饰变量和方法,表示常量不可被修改,修饰方法表示方法不可被覆盖,可以通过类名访问。

  3、静态代码块

    当JVM加载类时,静态代码块只运行一次。因为是先加载到堆内存中,而类的构造器在new时才被加载,所以构造器后于静态代码块运行

    静态代码块内部不可直接访问非静态变量和非静态方法。可以通过对方法的类实例化后,再调用方法,或者对其类的变量赋值。

  4、有一种内部类叫做静态内部类

    静态内部类不需要依赖外部类,而非静态内部类必须持有外部类的引用。

  5、静态导包,import static。简化代码。

    

 

以上是关于Java之static理解的主要内容,如果未能解决你的问题,请参考以下文章

Java中static的理解

Java Static 深入理解

java中Static关键字的深入理解

深入理解java关键字--static

《Java架构筑基》从Java基础讲起——深入理解Static

Java面试之synchronized 和 static synchronized