5.java基础之static类加载过程

Posted 与乐

tags:

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

static修饰符

  1. 修饰属性:静态的属性不属于任何对象,全类及其对象共用,可以用类名直接调用
  2. 修饰方法:静态的方法可以直接用类名调用,和对象无关。静态方法只能访问静态成员和静态方法,非静态方法可以调用静态方法
  3. 静态方法只能被子类的的静态方法覆盖,而且没有多态(因为对引用调用静态方法,等价于对引用的类型调用静态方法),静态修饰符和抽象修饰符不能在一起使用
  4. 静态初始代码块在类加载的时候执行一次

    类加载

    类加载:当JVM第一次使用一个类的时候,需要提取这个类的字节码文件,获取类的信息并保存起来
    类加载过程(顺序):
  • 如果需要先加载父类的静态代码块,再加载子类的静态代码块;
  • 再加载父类的初始化代码块进行初始化和调用构造方法;
  • 最后加载子类的初始化代码块进行初始化和调用构造方法
    (总结:创建类时、先递归的从基类到派生类加载静态代码块,再依次初始化属性和调用构造方法)
    加载类的时机:①当第一次创建对象时;②第一次访问类的静态成员时

以上是关于5.java基础之static类加载过程的主要内容,如果未能解决你的问题,请参考以下文章

Java基础之static关键字

JAVA基础之Static

JAVA基础之包装类,static,final,abstract ,接口 和 内部类

java第五章:面向对象(oop)之 static关键字

Java基础(Java类的初始化顺序)

Java面向对象之关键字static 入门实例