Java遇到 Constructor call must be the first statement 错误的解决方法

错误信息第一行是:
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();
}

总结:
如果遇到这个问题就先检查一下构造器中是否有通过另一个类的构造器创建实例,及原构造器的位置

猜你喜欢

转载自blog.csdn.net/weixin_44427114/article/details/106933044
今日推荐