首页 > 编程知识 正文

java不是内部命令也不是可运行程序,java脚本怎么运行

时间:2023-05-03 05:08:42 阅读:32687 作者:4228

在网上看到没有这个main方法也可以执行的代码时,为了弄清代码在java中执行优先级的原因,我写了以下两个测试代码。

公共类测试静态{

/*静态代码块*

静态{

System.out.println ('我的静态代码很快,已执行!' );

系统. exit (0; //结束程序

}

/*静态方法*

公共静态语音方法

System.out.println ('我是静态方法,已被调用并执行!' );

}

//结构方法/

公共测试静态(

System.out.println ('我是构建方法。 已执行!' );

}

/*普通方法*

公共void fc () {

System.out.println ('我是按普通方式,我被调用运行的!' );

}

publicstaticvoidmain (字符串[ ] args ) {

测试静态d=new测试静态(;

TestStatic.method (;

d.fc (;

}

}

程序输出:我静态代码快,执行了!

公共类测试静态{

/*静态代码块*

静态{

System.out.println ('我的静态代码很快,已执行!' );

}

/*静态方法*

公共静态语音方法

System.out.println ('我是静态方法,已被调用并执行!' );

}

//结构方法/

公共测试静态(

System.out.println ('我是构建方法。 已执行!' );

}

/*普通方法*

公共void fc () {

System.out.println ('我是按普通方式,我被调用运行的!' );

}

publicstaticvoidmain (字符串[ ] args ) {

测试静态d=new测试静态(;

TestStatic.method (;

d.fc (;

}

}

程序输出:

我静态代码快,执行了!

我用构造方法,我被执行了!

我用静态的方法,我被呼叫执行了!

我用普通的方法,被呼叫执行了!

比较两个代码的输出结果,第一行先输出了类的静态代码快速中的内容。 “我的静态代码很快,因为第一个程序的静态代码块中有一个语句叫system.exit(0)。 已执行! 程序结束。 第二个代码没有输出main方法的内容。 静态代码块可以在执行main方法之前执行,第二个代码可以在执行静态代码块之后开始执行main方法,调用方法实例对象,然后调用实例方法。 静态方法和实例方法是被动的,必须调用。 所以,谁先调用谁先执行,唯一的区别是静态方法在类加载时存在,而实例方法是在new时生成的,所以在实例对象之前用类名调用静态方法,就会将方法

【注】根据测试结果,第一个执行的是静态代码块,静态方法可以在实例方法之前或之后执行,也可以在构造方法之前或之后执行,但构造方法必须在实例方法之前

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。