如题,学习下
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);
}
}
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);
}
}
记住这句话吧!
那么,好吧。有一个方式可以不要main方法。将这个类继承Applet或者JApplet,然后以Applet方式进行运行。
Applet小应用程序查看器可以运行起来。这样就不需要使用main方法了。
呵呵……
有趣。不知道你是不是这个意思啊?
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
可运行
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 .....
哈哈,还真是第一次听说啊,要是真有楼主跟我说一声~
我刚试了一下public class Test {
static {
System.out.println("Test.......");
System.exit(0);
}
}上面的代码在命令行下可以运行,但是在eclipse中却不可以运行,why ?????