在类文件中命名冲突

时间:2015-07-03 18:48:45

标签: java

我这里有两个文件,在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");
                }

            }

1 个答案:

答案 0 :(得分:0)

这是因为你正在错误地构建类。类构造函数应该是以下

class StaticSuper {
    public StaticSuper (){
        System.out.println("super constructor");
    }
}

public是可选的,但括号应始终存在。稍微了解here