gpt4 book ai didi

java - 对 super() 的调用必须是方法内的第一个语句消息

转载 作者:行者123 更新时间:2023-12-01 06:49:06 26 4
gpt4 key购买 nike

这是我的基类:

@Service
public class BasicUserManagerService implements UserManager {
@Autowired
private UserRepository UserRepository;

private Logger logger = LoggerFactory.getLogger(UserManagerPasswordController.class);

@Override
public void createUser(User User) {
if (UserRepository.findByEmail(User.getEmail()) != null)
throw new InvalidDataException("User already registered with this email address");
UserRepository.save(User);
logger.info("Created user: {}", User.getEmail());
}
}

我试图按如下方式扩展此类:

@Service
public class UserManagerService extends BasicUserManagerService implements UserManager {
@Override
public void createUser(User User) {
super().createUser(User);
}
}

但我不断收到错误消息,即对 super() 的调用必须是构造函数主体中的第一个语句。正如您所看到的,我没有构造函数,即使添加它,我也会收到相同的错误。为什么会发生这种情况以及如何避免它?

最佳答案

更改此super用法。 super() 是父级的构造函数super 是对父类的引用。

@Service
public class UserManagerService extends BasicUserManagerService implements UserManager {
@Override
public void createUser(ProxyCircuitUser proxyCircuitUser) {
super.createUser(proxyCircuitUser);
}
}

关于java - 对 super() 的调用必须是方法内的第一个语句消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52640346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com