I want to instantiate a child class in Java from within a parent class. However, when I do this, and attempt to call a parent's method from the constructor of the child (with super), the returned field is null. If I changed this to instantiating the parent from the main() method, the field returns how it is expected (a String). I'm not sure whats happening here, can anyone explain?
Main class:
public class MainFunc {
  public static void main(String[] args) {
    javaClass jv = new javaClass("Bobby");
    jv.makeJ2();
  }
}
Parent Class:
public class javaClass {
  String name;
  public javaClass(){
  }
  public javaClass(String s) {
      setName(s);
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public void makeJ2 (){
    javaClass2 jv2 = new javaClass2();
  }
}
Child Class:
public class javaClass2 extends javaClass {
  String name;
  public javaClass2() {
    super();
    String superTitle = super.getName();
    System.out.println("HEY " + superTitle);
  }
}
This returns:
HEY null
Instead of:
HEY Bobby
 
     
     
     
     
     
    