错误信息第一行是:
java.lang.Error: Unresolved compilation problem:
Constructor call must be the first statement in a constructor
意思是构造器必须写在第一行,啥意思?其实就是在调用一个构造函数1时,如果里面还有一个构造函数2,必须先写构造函数1,在写构造函数2
例如我写这个程序时候出的错:
public SysServlet() {
memberService = new MemberService();
}
这是一个类SysServlet的无参构造,里面进行初始化另一个实例时需要调用MemberService的构造函数,所以SysServlet的构造函数并没有出现在第一行,解决办法就是在前面加一行 super();
public SysServlet() {
super(); // 加入此行,父类构造器
memberService = new MemberService();
}
总结:
如果遇到这个问题就先检查一下构造器中是否有通过另一个类的构造器创建实例,及原构造器的位置