庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>Java语言>JAVA线程>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

java的运行流程

 作者:laodie    日期:2005-4-7
字号选择〖 〗/ 双击滚屏 单击停止   
java的运行流程
一,我们所看不到的:
1,如果java文件没有package,就默认给文件加上"无名"package;
2,默认导入java.lang包,所以我们的java程序中可以使用Sting,Math,Integer等类,包括一些异常类;
3,如果生成的类没有父类,则为这个类隐式加上父类:Object;因此,包括Object中的许多方法可以使用;
4,字段的初始化;
二,我们所看的到的:
既然看的到,就先看程序运行结果:

public class JRun1 {

public JRun1() {
System.out.println(" 构造函数");
}
static
{
System.out.println("static{}");
}
{
System.out.println("{}");
}

public static void main(String[] args) {
System.out.println("main()");
}

}
运行结果:
static{}
main()


显然,程序运行时,先运行:
static
{
System.out.println("static{}");
}
再调用main();


注意: 我们可以得到一个副产品:不用main方法也能运行的程序:
public class JRun1 {

static
{

System.out.println("no main()");
System.exit(0);
}

}


如果我们在类中建立一个对象:
public class JRun1 {


public JRun1() {
System.out.println(" 构造函数");
}
static
{
System.out.println("static{}");

}
{
System.out.println("{}");
}

public static void main(String[] args) {
System.out.println("main()");
new JRun1();
}


}

运行结果:
static{}
main()
{}
构造函数

从而,我们得出:
建立一个非主类对象,顺序为:静态初始化块static{}-->初始化块{}-->构造函数constructor;


那么,牵涉到继承,运行流程又如何?

看程序:

class JRun1Father{
JRun1Father(){
System.out.println("父类构造函数");
}
static{
System.out.println("父类静态初始化块");
}
{
System.out.println("父类初始化块");
}
}
public class JRun1 extends JRun1Father{


public JRun1() {
System.out.println("子类构造函数");
}
static
{
System.out.println("子类静态初始化块");

}
{
System.out.println("子类初始化块");
}

public static void main(String[] args) {
//System.out.println("主方法)");
new JRun1();
}

}

运行结果:

父类静态初始化块
子类静态初始化块
父类初始化块
父类构造函数
子类初始化块
子类构造函数

所以,牵涉到父类:父静态-->子静态-->父初始化及构造-->子初始化及构造;
注意:初始化块和构造是接连运行的,不会父类子类交替.
//////////////////////////////////////////////////////////////////////////
作者:laodie
QQ:16643190
电话:110转120转119转168099999按3
上一篇:对synchronized(this)的一些理解    下一篇:菜鸟必须了解的两个常识  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: laodie
信息来源: 网络 录入时间: 2005-4-7
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿