003 类加载过程

图形介绍

在这里插入图片描述

代码实例

package com.test.java;
/*
 * 理解一:1.向前引用:在类加载之前先把类访问一遍
 * 	       2.代码从上至下执行
 * 		  3.创建对象 (加载 实例变量、 方法、代码块、构造方法)
 * 
 * 理解二:1.先对类中的变量、方法 分配内存;(默认初始值)
 * 		   2.代码从上至下执行
 * 		   3.创建对象
 * 总结:    上-->下   顺序加载静态的变量、方法、代码块、对象
 * 		     如果加载到静态对象:上-->下  加载对象的实例变量、方法、代码块、构造函数(最后执行)       
 */
public class Demo01 {
    public static int k=0;                           // 静态变量
    public static Demo01 s1=new Demo01("s1");    // 静态对象  (1) 加载实例 变量、方法、代码块、构造方法
   
    public static Demo01 s2=new Demo01("s2");       // 静态对象 (2) 加载实例 变量、代码块、构造方法
    public static int i=print("i");                 // 静态变量 (调 print 静态方法) (3)加载静态变量
    public static int n=99;                         // 静态变量
    public int j=print("j");                       // 实例变量       (调用 print 静态方法)
    
    {  
        print("构造块");                        // 实例代码块
    }  

    static  
    {  
        print("静态块");                       // 静态代码块(调用 print静态方法)  (4) 加载静态代码块
    }  
      
    public static int print(String s)                      // 静态方法
    {   System.out.println("nihao");
        System.out.println(++k+":"+s+"\ti="+i+"\tn="+n);  
        ++n;
        System.out.println("hahn="+n);
        return ++i;  
    }  
    
    public Demo01(String s)                          //  带参构造
    {   System.out.println("haohao");
        System.out.println(++k+":"+s+"\ti="+i+"\tn="+n);  
        ++i;  
        System.out.println("nimei="+i);
        ++n;  
        System.out.println("gunsn="+n);
    }

    
    
    public static void main(String[] args) {  

        new Demo01("init");    // 创建对象 (5)   创建对象 并加载实例 变量、代码块、构造方法
    } 
}

结果截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H J

你的鼓励就是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值