我不是一个Java程序员,不过也用了3年的Java,主要是用在J2ME平台上。最近找新工作,发现一道Java笔试题目:class A {
static {
System.out.println("In static class A");
} public A() {
System.out.println("Class A");
}}class B extends A{
static {
System.out.println("In static class B");
}
public B() {
System.out.println("Class B");
}
}public class foo {
public static void main(String[] args) {
// TODO Auto-generated method stub
A ab = new B();
ab = new B();
}}在以上这个题目中,class A和Class B都有一个static开头的方法,最起码我才是方法:static {
System.out.println("In static class B");
}在C/C++中是没有这种写法的,这个在Java中怎么称呼,有什么作用?同时我也发现了这个static{;}可以出现多次。不是特别明白。PS:这个题目的答案到很简单,大家用java编译运行一下就知道了。