这个程序是如何执行的及原因//分析如下: class StaticCode { int num=9; StaticCode() { System.out.println("b"); } static { System.out.println("a"); }//2.静态代码块,随着类的加载而执行 ,且执行一次,所以先输出a { System.out.println("c"+this.num);//3.构造代码块,也优于对象执行,仅次于静态代码块,所以再次输出c9 } StaticCode(int x) { System.out.println("d");//4.执行这一句,输出d。程序执行完毕。 } public static void show() { System.out.println("show run"); } } class StaticCodeDemo { public static void main(String[] args) { new StaticCode(4);//1.加载类,并创建一个对象并传参数4 } } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |