实例解析-Java程序的加载过程

实例说话:
package  belief.teach1.classProcess;

/*
 * Java加载过程 by belief
 
*/


//  代表静态final变量的类
class  StaticFinalVar  {

    
public StaticFinalVar() {
        System.out.println(
"静态final成员变量初始化开始...");
    }


}


//  代表静态非final变量的类
class  StaticVar  {

    
public StaticVar() {
        System.out.println(
"静态非final成员变量初始化开始...");
    }


}


//  代表非静态final变量的类
class  NonStaticFinalVar  {

    
public NonStaticFinalVar() {
        System.out.println(
"非静态final成员变量初始化开始...");
    }


}


//  代表非静态非final变量的类
class  NonStaticVar  {

    
public NonStaticVar() {
        System.out.println(
"非静态非final成员变量初始化开始...");
    }


}


class  Father  {

    
public Father() {
        System.out.println(
"Father构造器执行...");
    }


}


class  son  extends  Father  {

    
// System.out.println("非静态非final成员定义...");
    NonStaticVar nsv = new NonStaticVar();

    
// System.out.println("非静态final成员定义...");
    final NonStaticFinalVar fnsv = new NonStaticFinalVar();
    
{
        System.out.println(
"我是第二吗?...");
    }

    
static {
        System.out.println(
"看谁先执行...");
    }


    
// System.out.println("静态final成员定义...");
    static final StaticFinalVar sfv = new StaticFinalVar();

    
// System.out.println("静态非final成员定义...");
    static StaticVar sv = new StaticVar();

    
public son() {
        System.out.println(
"son构造器执行...");
    }


}


public   class  ClassLoad  {

    
public static void main(String[] args) {
        
new son();

    }


}

运行结果:
/*
 * 看谁先执行... 
 * 静态final成员变量初始化开始... 
 * 静态非final成员变量初始化开始...
 * Father构造器执行...
 * 非静态非final成员变量初始化开始... 
 * 非静态final成员变量初始化开始... 
 * 我是第二吗?... 
 * son构造器执行...
 * 
 
*/
运行结果清楚说明了加载过程
类-->类中静态成员-->类中非静态成员-->构造器-->...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值