我这里有两个文件,在StaticSuper类(文件2)中,StaticSuper方法似乎有一个命名clonflict。为什么是这样?
public class StaticTests extends StaticSuper {
static int rand;
static {
rand = (int) (Math.random() * 6);
System.out.println("static block " + rand);
}
StaticTests() {
System.out.println("constructor");
}
public static void main(String [] args) {
System.out.println("in main");
StaticTests st = new StaticTests();
}
}
class StaticSuper {
static {
System.out.println("Super static block");
}
//naming conflict here
StaticSuper{
System.out.println("super constructor");
}
}
答案 0 :(得分:0)
这是因为你正在错误地构建类。类构造函数应该是以下
class StaticSuper {
public StaticSuper (){
System.out.println("super constructor");
}
}
public是可选的,但括号应始终存在。稍微了解here