码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-12-21 00:28:30      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:类加载   直接   静态代码块   派生   修饰符   字节码   递归   执行   文件   

static修饰符

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

    类加载

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

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

标签:类加载   直接   静态代码块   派生   修饰符   字节码   递归   执行   文件   

原文地址:https://www.cnblogs.com/linanana/p/12075343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!