Java中static代码块,main函数,构造函数运行顺序

来源:互联网 发布:黑客帝国3矩阵帝国 编辑:程序博客网 时间:2024/06/04 17:49
 

Java中static代码块,main函数,构造函数运行顺序

其实这不是什么分析的文章,只是因为我容易记混淆这几个的运行顺序,故特地拿出来记录一下,方便记忆。

1、在java工程中,不止一个文件,不止一个类,那么我们如何确定是哪一个main函数是作为工程的入口函数呢?

2、在java类文件中,static代码块,main函数,构造函数的运行顺序

先看一看写出来的测试代码块:

package test_ortention;public class one {/** * @param args */static {System.out.println("static one is running");}public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("main one is running");A a = new A();// a.main(args);}}class A {static {System.out.println("static is running");}public static void main(String[] args) {System.out.println("main A is running");}public A() {System.out.println("A is running");}}

在运行的时候,用android版本的eclipse编译java工程的时候是需要选择main函数的:

当直接按照给出的代码块运行的时候,运行的结果是这样的:

static one is running
main one is running
static is running
A is running

这说明静态的代码块是最优先运行的,然后是构造函数,而main函数是不会在不是选择入口main函数的时候主动运行的。如需要调用的话那么必须显示执行a.main(args);


 

0 0
原创粉丝点击