java中类的加载顺序简介说明

重生 Java经验 发布时间:2024-01-27 21:29:02 阅读数:16164 1
下文笔者讲述java类的加载顺序简介说明,如下所示

java类加载顺序说明

1.加载
  将.java文件加载到内存中
  并将这些静态数据转换成方法区的运行时数据结构
   生成某类对应的java.lang.class对象
   注意事项:
    .class对象是
      类加载到内存后由java自动生成的
      
2.链接
  将加载的类的二进制代码
    合并到JVM中
    为静态static变量声明内存空间
    并赋默认值(各种基本数据类型的默认值
              int 是0
              string是 ""等)

3.初始化
   执行类的构造器(注意:不是对象的构造器)
    为静态变量赋值
     并执行静态代码块(静态代码块和静态变量赋值)
 (使用cinit方法
     将静态变量、静态方法放到一起
       然后一起赋值 运行)
package com.reflection;
 
import com.sun.org.apache.bcel.internal.generic.NEW;
 
public class test03 {
    static {
        System.out.println("main类被加载");
    }
 
    public static void main(String[] args) {
        Father father= new Father();
        System.out.println(Father.a);
    }
}
class Father {
 
    static int a=100;
    static {
        a=10;
        System.out.println("father类被加载");
    }
    static void test1(){
        System.out.println("father类中的静态方法被调用");
    }
}

-----运行以上代码,将输出以下信息-------
main类被加载
father类被加载
10

类初始化的场景

1.当虚拟机启动
    会先初始化main方法所在的类

2.new一个新的对象

3.调用类的静态成员和静态方法

4.对此类反射调用

5。当初始化了一个类
   如果他的父类没有被初始化
    则会先初始化他的父类
    再初始化它自己
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202401/17063622547816.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者