这里为什么只执行静态块不执行主方法啊

qq_36373585 2016-10-12 10:20:47

这里的执行结果是 static
main

现在的结果是 static
怎么感觉只是执行了静态块,主方法不执行,这是什么原因呢?谢谢大家看到了能帮我答疑啊,非常感谢!
...全文
336 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34494077 2016-10-22
  • 打赏
  • 举报
回复
静态块 在程序加载时 是第一个执行的
izard999 2016-10-12
  • 打赏
  • 举报
回复
method 是需要调用才会执行的, 静态块在这个类加载完就会执行
jj932359135 2016-10-12
  • 打赏
  • 举报
回复
你要调用a.main(...);才会执行Test类main方法中的打印。
小灯光环 2016-10-12
  • 打赏
  • 举报
回复
因为你的main方法并没有打印语句啊,拿什么执行,new Test()时构造对象之前会初始化类,调用了静态块的打印语句~
肃穆丶 2016-10-12
  • 打赏
  • 举报
回复
你要调用main方法才会打印呀。。
boy_3211 2016-10-12
  • 打赏
  • 举报
回复
main方法是程序入口,你运行test的时候先执行main在执行static Test new出来的时候调用的是构造方法 main函数不调用则不运行
angry ant 2016-10-12
  • 打赏
  • 举报
回复
因为你的test是一个对象,test类中的main只是对象的一个方法,要让对象去调用方法(a.main())才会被执行,new操作符会在堆内存中开辟空间,但是静态代码块不存在堆栈中,存放在方法区中,在test类加载时就会被运行。
zycxnanwang 2016-10-12
  • 打赏
  • 举报
回复
楼主, 估计是初学, 首先你new出了一个test类,加载类的时候, 首先执行其静态数据段,故先出来static,之后初始化 其成员变量, 然后才是构造函数,这样一个类才加载完了, 之后其静态函数,可以通过类名直接调用,不用new出新 对象, 估计楼主是在 静态代码段 和 静态函数这有疑惑, 可以分别百度一下

62,628

社区成员

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

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