静态块先于构造函数执行
class Student {
int age;
String name;
static int count;
public Student() {
System.out.println("in constructor");
}
/*只执行一次。*/
static {
System.out.println("hello");
count = 0;
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student();
Student s1 = new Student();
}
}
assignment: class: School has a static member called count which records how many schools we have. count's initial value is 0, count increments in School's constructor.
assignment2: car( mercedes, BMW, static member count is increased in the constructor.)
assignement: 1) class Car(name,price, static TotalSum), static block initialize TotalSum=0; whenever you buy a car, constructor add money to the TotalSum. finally, print out the TotalSum.
2) make a MyMath class which has absolute and power,add(int, int), add(int, int, int)
更多请见:http://www.mark-to-win.com/tutorial/java_2_StaticBlockConstructorDifference.html