如题,学习下
public class Parent {  private static int iz = getNext(2); 
private static int iy=99; 
//静态初始化块 
static { 
System.out.println("parent的静态初始化块"); 
System.out.println(iz); 
System.out.println(iy); 
}  public static int getNext(int base) { 
System.out.println("parent的static int getNext(int base)被调用"); 
                System.out.println(iy); 
System.out.println(iz); 
return ++base; 
}  public static void t() { 
System.out.println("parent的static void t被调用"); 
System.out.println(iz); 


}

解决方案 »

  1.   

    楼主我不明白你的意思,你的这个代码就没有main方法啊?
      

  2.   

    但是这段代码运行出现了一个异常:Exception in thread "main" java.lang.NoSuchMethodError: main 加工main方法及好了,我的意思是:不加main方法的话,怎么修改呢?有没有另外修改的方法, 
      

  3.   

    任何方法、程序 都是从main方法 开始运行的
    记住这句话吧!
      

  4.   

    main方法是每个Java程序的入口,不是必须的,但是如果你没加main方法的话,就无法运行。所以会抛出那个错误。
      

  5.   

    没有main方法,你根本都找不到程序的入口,你怎么执行?你的意思是执行类的代码的话,那就在另一个类的main方法中生成这个类的对象,它才能执行里面的代码.道理还是:main方法才是程序的入口.
      

  6.   

    呵呵,难道你是铁了心和main方法叫劲?
    那么,好吧。有一个方式可以不要main方法。将这个类继承Applet或者JApplet,然后以Applet方式进行运行。
    Applet小应用程序查看器可以运行起来。这样就不需要使用main方法了。
    呵呵……
    有趣。不知道你是不是这个意思啊?
      

  7.   

    这个是<Java核心技术>中说到的,有异常是正常的,因为你没有加main方法,他只是让程序员了解一下静态初始化块的作用!实际编程中,是不会直接运行他的,而是通过别的类调用
      

  8.   


    package cn.ialvin.test;import javax.swing.JOptionPane;public class Parent { private static int iz = getNext(2);
    private static int iy = 99;        // 没有 Main 也可以执行程序的, 写在 静态块里, 加载这个类时就执行了.
    //静态初始化块 
    static {
    System.out.println("parent的静态初始化块");
    System.out.println(iz);
    System.out.println(iy); JOptionPane.showMessageDialog(
    null,
    "没有 Main 方法, 也要弹",
    "Java Swing Message Box", JOptionPane.OK_OPTION);
    System.exit(0); // 弹制退出, 不要给机会它报 java.lang.NoSuchMethodError
    } public static int getNext(int base) {
    System.out.println("parent的static int getNext(int base)被调用");
    System.out.println(iy);
    System.out.println(iz);
    return ++base;
    } public static void t() {
    System.out.println("parent的static void t被调用");
    System.out.println(iz);
    }
    }编译后,在 控制台 用命令:java cn.ialvin.test.Parent
    可运行
      

  9.   

    在static静态程序块里加上System.exit(0);就可以强制退出。这样就不会报找不到main方法的异常了!
      

  10.   

    如果楼主是要运行你的代码但是又不想写main方法的话,你可以把要调用的方法放到static静态块了里,就能解决问题。我不知道楼主的意思是不是这个意思
      

  11.   

    在静态块最后加上 System.exit(0); 就不会报错了,呵呵。
      

  12.   

    哈哈,我本来就是想知道除了添加一个空的main方法后,还有什么别的方法可以把那个异常处理掉嘛,没想到这么多人回答呀,大家,谢谢....
      

  13.   


    import javax.swing.JOptionPane;public class Parent {    private static int iz = getNext(2);
        private static int iy = 99;        // 
        //
        static {
            System.out.println("parent のstatic init");
            System.out.println(iz);
            System.out.println(iy);
            new Parent().t();
            JOptionPane.showMessageDialog(
                null,
                "have not  Main can be show also",
                "Java Swing Message Box", JOptionPane.OK_OPTION);
            System.exit(0); // 
        }    public static int getNext(int base) {
            System.out.println("parent的static int getNext(int base) called");
            System.out.println(iy);
            System.out.println(iz);
            return ++base;
        }    public static void t() {
            System.out.println("parent static void called");
            System.out.println(iz);
        }
    }
    第一次不用main()跑了回程序不过是用命令去跑的 不使用工具。 java .....
      

  14.   

    java中main()是静态方法,是程序的入口函数,没有那个可以执行吗?
    哈哈,还真是第一次听说啊,要是真有楼主跟我说一声~
      

  15.   

    静态代码块可以哇,main本身就是个静态方法吧
      

  16.   

    晕,没这么用过。
    我刚试了一下public class Test {
    static {
    System.out.println("Test.......");
    System.exit(0);
    }
    }上面的代码在命令行下可以运行,但是在eclipse中却不可以运行,why ?????
      

  17.   

    哈哈,不知道,目前Eclipse还没下呢,还是用UE写呢...
      

  18.   

    在eclipse 的 Run Dialog 中设置后 Project 和 Main class 后就可以运行
      

  19.   

    很简单啊,你再写一个类,然后classLoad一下不就行了,命令行下的java命令默认是调用main的,那你自己调用就不必先调用main()了。