静态块优于主方法执行

chwh123456789 2012-02-25 05:14:27
public class CodeDemo{
static{
System.out.println("Hello World!!!") ;
System.exit(1) ; // 程序退出
}
};
上边的程序能执行吗?不能执行的话静态块是优于主方法执行的要怎么解释,要是能执行的话主方法是程序的入口没有入口怎么开始执行
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
昨日凡阳 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happyverygood 的回复:]

不能执行肯定的啊,人家说静态代码块优于构造方法执行吧,别搞错概念了,,,嗯哼。。。本来一个对象的实例化 在new 时要走构造方法的,但是如果有静态代码块你会发现,静态代码块中的内容比构造方法中的还选执行的。。。 你试下Java code
public class Abc {
static {
System.out.println("Hello World!!!……
[/Quote]

没错
atpx309391907 2012-02-27
  • 打赏
  • 举报
回复
静态方法也是方法,不调用不执行。
学无止境+ 2012-02-27
  • 打赏
  • 举报
回复
na ni xie jing tai dai ma gan shen me ? bu jiao se le ,,gei fen,,,, ni gao cuo le
chwh123456789 2012-02-27
  • 打赏
  • 举报
回复
好像是是静态块优先于主方法执行,在普通类中定义的静态块优先于构造块执行
学无止境+ 2012-02-25
  • 打赏
  • 举报
回复
不能执行肯定的啊,人家说静态代码块优于构造方法执行吧,别搞错概念了,,,嗯哼。。。本来一个对象的实例化 在new 时要走构造方法的,但是如果有静态代码块你会发现,静态代码块中的内容比构造方法中的还选执行的。。。 你试下
public class Abc {	
static {
System.out.println("Hello World!!!-----1") ;
// System.exit(1) ; // 程序退出

}
public Abc(){
System.out.println("Hello World!!!-----2") ;

}

public static void main(String[] args) {
new Abc();
}
}

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧