args是命令行参数,可以取出命令行后面的内容,如:java test 命令行1 命令行2则args [0] 就是命令行1 args[1]就是命令行2
to wjsfr(令狐葱): 在class里而没在main函数里的语句还会被执行吗?
可以运行,但是不可以直接运行,可以调用她里面的main方法,就是当作一个普通方法
呵呵,楼主新鸟 main主函数args是命令行参数
public class StaticInitialization { public static void main(String[] args) { System.out.println("Creating new Cupboard() in main");---(3) new Cupboard(); System.out.println("Creating new Cupboard() in main"); new Cupboard(); t2.f2(1); t3.f3(1); } static Table t2 = new Table(); --------(1) static Cupboard t3 = new Cupboard();-------(2) } 按照大家的说法,是不是应该先执行(3)处的打印语句啊,但结果不是这样的啊!
类成员的初始化顺序 ① 类属性 (静态变量) 定义时的初始化,如上例的 static String a = "string-a"; ② static 块中的初始化代码,如上例 static {} 中的 b = "string-b"; ③ 对象属性 (非静态变量) 定义时的初始化,如上例的 String c = "stirng-c"; ④ 构造方法 (函数) 中的初始化代码,如上例构造方法中的 d = "string-d";
在class里而没在main函数里的语句还会被执行吗?
main主函数args是命令行参数
public static void main(String[] args) {
System.out.println("Creating new Cupboard() in main");---(3)
new Cupboard();
System.out.println("Creating new Cupboard() in main");
new Cupboard();
t2.f2(1);
t3.f3(1);
} static Table t2 = new Table(); --------(1) static Cupboard t3 = new Cupboard();-------(2)
}
按照大家的说法,是不是应该先执行(3)处的打印语句啊,但结果不是这样的啊!
① 类属性 (静态变量) 定义时的初始化,如上例的 static String a = "string-a";
② static 块中的初始化代码,如上例 static {} 中的 b = "string-b";
③ 对象属性 (非静态变量) 定义时的初始化,如上例的 String c = "stirng-c";
④ 构造方法 (函数) 中的初始化代码,如上例构造方法中的 d = "string-d";