A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© long362144768 中级黑马   /  2013-9-25 10:07  /  1980 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 long362144768 于 2013-9-25 18:45 编辑

这个类运行时有时会抛出异常,找不到main函数,各位运行一下看看i
mport java.util.*;
public class test{
        static{
                System.out.print("hello world");
                System.exit(0);
        }
}

评分

参与人数 1技术分 +1 收起 理由
黄文伯 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
楼主,你只是搞了一个类出来,并没有new 一个对象,而且你也没有主函数,这样的话怎么执行呢! 一下是饿帮你改的代码--->
  1. public class MainTest2 {
  2.         static {
  3.                 System.out.print("hello world");
  4.                 System.exit(0);
  5.         }

  6.         public static void main(String[] args) {
  7.                 new MainTest2();
  8.         }

  9. }
复制代码
还有就是 import java.util.*; 这一行代码可以去掉,用不到那个包里面的东西。下面是运行结果--->
hello world

希望可以帮到楼主、、、

The you smile until forever 、、、、、、、、、、、、、、、、、、、、、

评分

参与人数 1黑马币 +9 收起 理由
黄文伯 + 9 赞一个!

查看全部评分

回复 使用道具 举报
yting_xmei1129 发表于 2013-9-25 10:49
楼主,你只是搞了一个类出来,并没有new 一个对象,而且你也没有主函数,这样的话怎么执行呢! 一下是饿帮 ...

他的确实是缺少主函数来供jvm调用。但是因为static代码块中存在这一句:System.exit(0);
所以执行完静态代码块之后就不会执行主函数了,因此主函数可以直接为空。
  1. public class Test {
  2.     static {
  3.             System.out.print("hello world");
  4.             System.exit(0);
  5.     }

  6.     public static void main(String[] args) {
  7.                 //main函数直接为空就可以了,完全不用执行任何语句。
  8.                 //new MainTest2();
  9.     }
  10.         
  11. }
复制代码

评分

参与人数 1黑马币 +12 收起 理由
黄文伯 + 12 赞一个!

查看全部评分

回复 使用道具 举报
王清华0 发表于 2013-9-25 11:31
他的确实是缺少主函数来供jvm调用。但是因为static代码块中存在这一句:System.exit(0);
所以执行完静态代 ...

这才是大神啊!刚试了下,确实主函数里面为空也可以,但是这行代码 System.exit(0); 有跟没有感觉没区别啊、、、
回复 使用道具 举报
yting_xmei1129 发表于 2013-9-25 11:49
这才是大神啊!刚试了下,确实主函数里面为空也可以,但是这行代码 System.exit(0); 有跟没有感觉没区别 ...

当然有区别,这句话就是让主函数内容无效的“罪魁祸首”。不信你试一下在主函数中加一个简单的输出语句,运行结果是不输出的。
System.exit(0);
这个语句是比return还要“霸道”的程序退出语句,一旦执行到这一句。程序会直接退出,而不管后面有什么。
比如说,如果在try或者catch中遇到exit(0); 后面的finally是不执行的,出现在static代码块中也是,会直接干掉后面的主函数。
这也是唯一一个能够干掉finally的程序。
回复 使用道具 举报
王清华0 发表于 2013-9-25 12:46
当然有区别,这句话就是让主函数内容无效的“罪魁祸首”。不信你试一下在主函数中加一个简单的输出语句, ...

哟西!果然恐怖如斯啊!这是斗宗强者的境界、、、
回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。 以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马