gpt4 book ai didi

java - 通过接口(interface)引用访问实现的类方法,无需构造函数初始化

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

我有一个类CommonDaoImpl,它实现了CommonDao接口(interface)。现在我尝试通过接口(interface) CommonDao 引用访问 CommonDaoImplgetRegisterData(),如下所示

public class CommonServiceImpl implements CommonService 
{
CommonDao commonDao
public boolean insertRegisterData(CommonBean objCommonBean) {
return commonDao.getRegisterData(objCommonBean);
}

但它不起作用并抛出 NullPointerException

所以我稍微改变了我的代码并使用实现类 CommonDao impl 的构造函数初始化接口(interface)引用,如下所示

public class CommonServiceImpl implements CommonService 
{
CommonDao commonDao=new CommonDaoImpl();

public boolean getRegisterData(CommonBean objCommonBean) {
return commonDao.insertRegisterData(objCommonBean);
}

但我不明白为什么会发生这种情况。

最佳答案

第一种情况

CommonDao commonDao

它是类的成员字段,未初始化,具有默认值 null,因此在 null 上调用方法会导致 NullPointerException

在第二种情况下,您正在初始化它

CommonDao commonDao=new CommonDaoImpl();

关于java - 通过接口(interface)引用访问实现的类方法,无需构造函数初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11295660/

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