2 ykwndy YKWNDY 于 2016.09.12 09:01 提问

java核心技术没有main方法的程序

为什么Java核心技术里运行一个没有main方法的程序在cmd里javac编译后 java运行不成功,而书里和说可以,百度的其他猿友有说成功和不成功的(结果说是应该会先打印再报错)
图片说明

public class Hello{
static {
System.out.println("*******************************88irklweqjkljlsdfnl");

    }   

}

6个回答

zhuzige521888
zhuzige521888   2016.09.12 09:40
已采纳

首先要搞清楚两点你就不难理解了:
1,main是Java运行的必备,意思是只有Java文件的时候想运行必须有main.
2 , static{}静态语句块,会在运行时优先加载,所以它不需要main方法处理。也就是说即使是一个空的main也会执行static{}里的内容!请看下图:
图片说明

zhuzige521888
zhuzige521888 回复callme森: main必须有
大约一年之前 回复
YKWNDY
YKWNDY 回复callme森: 好吧应该是这样了
大约一年之前 回复
YKWNDY
YKWNDY 意思说main方法还是要有的么?那还叫没有main方法的程序么
大约一年之前 回复
theUncle
theUncle   Rxr 2016.09.12 09:14

在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法不同的java文件可以有多个main,
因为你不同的java文件中可以有Main方法的存在。
IDE的不同决定了先运行那个main方法。但是它只执行一个main方法
而不会执行多个,也不能被别的方法调用。

YKWNDY
YKWNDY 你没看明白题目
大约一年之前 回复
u012971904
u012971904   2016.09.12 09:20

Java大小写是有严格区别的,其实无论大小写均可,一般编译名字和源文件一样。有些是大家共同的习惯,方便认读。

YKWNDY
YKWNDY 这不是重点啊,
大约一年之前 回复
kaka20099527
kaka20099527   2016.09.12 09:22

java 程序入口是固定格式的 main 方法

u013829202
u013829202   Rxr 2016.09.12 09:44

main()方法是Java应用程序的入口,程序在运行的时候,第一个执行的方法就是main()方法。static()方法在类加载的时候执行。虽然在main的前面执行。 但是执行的时候还是会先找main()方法的。没有main()程序是执行不了的。 不信,你可以在eclipse,直接写个static{} 不写main().

Marksinoberg
Marksinoberg   Ds   Rxr 2016.09.12 12:42

尽信书则不如无书啊。

Csdn user default icon
上传中...
上传图片
插入图片