易截截图软件、单文件、免安装、纯绿色、仅160KB

Java类被加载时执行的顺序问题

public class Parent
{
    //1
    static int a =  1;
    //2
    static
    {
        a = 10;
        System.out.println("parent static code");
    }
    //4
    public Parent()
    {
        System.out.println("Parent constructor");
        System.out.println("Parent a=" + a);
    }
    public static void main(String[] args)
    {
        System.out.println("***************");
        Parent c = new Child();
    }
}
class Child extends Parent
{
    static int a = 2;
    //3
    static
    {
        a = 20;
        System.out.println("child static code");
    }
    //5
    public Child()
    {
        System.out.println("Child constructor");
        System.out.println("Child var a=" + a);
    }
}
执行结果:
run:
parent static code
***************
child static code
Parent constructor
Parent a=10
Child constructor
Child var a=20
BUILD SUCCESSFUL (total time: 0 seconds)
Java
语言是动态链接的,只有在需要的时候才去加载java类,在加载java类的时候,首先执行类里面的static代码块,然后进入main入口函数,调用
子类的构造函数,生成子类的对象,子类被加载,调用子类的static代码块,然后开始调用子类的构造函数,调用之前要是检查到父类还没实例化,前去调用
父类的构造函数,保证父类实例化完毕了再去调�


相关文档:

Java编程那些事儿69——抽象类和接口(二)

8.9.2 接口
         接口(Interface)是一种复合数据类型。
         至此,Java语言的所有数据类型介绍完了,下面进行一个简单的总结。Java语言的数据类型分为两大类:基本数据类型和复合数据类型,其中基本数据类型有8种,复合数据类 ......

使用JAVA和C#开发Ribbon界面

Ribbon 原来出现在 Microsoft Office 2007 的 Word、Excel 和 Powerpoint 組件中,后来也被运用到 Windows 7 的一些附加组件等其它软件中,如画图和写字板。它是一个收藏了命令按钮和图标的面板。它把命令组织成一组"标签",每一组包含了相关的命令。每一个应用程序都有一个不同的标签组,展示了程序所提供 ......

使用Java操作文本文件的方法详解


摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 
最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int off,int
length),flush()和close()方法为抽象方法,Reader中read(char[] ch, ......

Java如何写注释


整个类文件注释
示例如下
:
/*
 
* @(#)Object.java    
1.61 03/01/23
 
*
 
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
 
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 
*/
 
package java.lang;
& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号