public class A { public A(){ System.out.println("A"); } {System.out.println("A class");} static{System.out.println("static A");} }
在class A中
public A()属于无参构造器;
static{System.out.println("static A");}属于静态方法;
{System.out.println("A class");}是什么?为什么他比无参构造器还先执行?
这个是java中的静态块,类似于.NET中的静态构造函数,会在类被加载时执行,且仅执行一次,而例子中的public A(){}属于构造函数,仅在实例化类时会被执行,如A a=new A();时才会调用。
具体的我给你找了个文章,你自己去看吧:http://blog.csdn.net/newjerryj/article/details/8650268
虽然是Java,但了解一点
static{System.out.println("static A");}
这个貌似叫:静态代码块???
还能{System.out.println("A class");} 这么玩儿啊?这个是什么时候输出的?