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";
  }
}
The application is doing this when creating an instance of the class B using a load class by name method:
- Calls overridden load() in class B
 
- Initializes variables (calls "private string testString = null" according to debugger), nulling them out.
 
Is this expected Java behavior? What could cause this? It's a Java 1.6 application running on the 1.7 JDK.