请原谅任何小的语法错误或诸如此类的东西,我正在使用 Jitsi 模块遇到这种情况,并且对 Java 不太熟悉,想确认发生了什么以及为什么以及如何修复它。
public abstract class A
{
public A()
{
this.load();
}
protected void load()
{
}
}
public class B extends A
{
private String testString = null;
public B()
{
super();
}
@Override
protected void load()
{
testString = "test";
}
}
应用程序在使用按名称加载类的方法创建类 B 的实例时执行此操作:
- 在 B 类中调用重写的 load()
- 初始化变量(根据调试器调用“私有字符串 testString = null”),将它们清零。
这是预期的 Java 行为吗?什么可能导致这种情况?它是在 1.7 JDK 上运行的 Java 1.6 应用程序。