我有以下课程。
public class TestController {
protected ElementManager mElementManager;
public ElementManager getElementManager() {
return this.mElementManager;
}
}
public class ElementManager {
public final void clearTextField(String description, By by) {
System.out.println("clearTextField: " + description);
getElement(by).clear();
}
}
以下类扩展TestController
并在clearTextField()
ElementManager .
方法
但我得到eManager
获得的null
值错误。
public class PTestController extends TestController {
ElementManager eManager = this.getElementManager();
eManager.clearTextFieldById("Pa","kkkk");
}
我的代码出了什么问题
答案 0 :(得分:0)
假设这是整个代码,您没有初始化mElementManager
。因此,它将是null
,任何使用它的尝试都会产生NullPointerException
。
要解决此问题,您只需在父类中初始化它:
public class TestController {
protected ElementManager mElementManager = new ElementManager(); // Here!
public ElementManager getElementManager() {
return this.mElementManager;
}
}
答案 1 :(得分:0)
您的代码存在一些问题。
mElementManager
中初始化TestController
。你忘了在那里添加一个构造函数吗? public TestController() {
mElementManager = new ElementManager();
}
PTestController
似乎编写得很糟糕。尝试对如何用Java编写类有一些基本的了解。