java - Pass variable to one subclass -


i'm non-programmer minimal coding exposure, i'd modify existing code base. i've simplified code i'm working below. please let me know if can provide further information or if makes no sense @ all! vocab hard. :)

in classa, i'm instantiating subclass of classb. change i'd make requires new variable, "myvar" (set in classa), available subclass classc not subclass classd. appropriate way make variable available classc?

classa:

public class classa {     private string myvar = "hi";     private string mystuff = "bye";     private int myoption = 1;      private string getmyclass(string mystuff) throws exception {         final myclasschoice myclass = getmyclasschoice(myoption);         return myclass.getresponse(mystuff);     }      private myclasschoice getmyclasschoice(myoption) {         switch(myoption) {             case 1:                 return new classc();             case 2:                 return new classd();             }     } } 

classb:

public class classb {     public abstract string getresponse(string mystuff) throws ioexception; } 

classc:

public class classc extends classb {     // stuff mystuff     // stuff myvar } 

classd:

public class classd extends classb {     // stuff mystuff } 

you either pass constructor when instantiating object , save in instance variable,

public class classa { // ...     private myclasschoice getmyclasschoice(myoption) {         switch(myoption) {             case 1:                 return new classc(myvar);             case 2:                 return new classd();             }     } }  public final class classc extends classb {      private string myvar;      // constructor:     public classc(string myvar) {         this.myvar = myvar;     }      // stuff mystuff     // stuff myvar     private void dostuff() {         system.out.println(myvar);     } } 

or pass method when use it,

public final class classa { // ...     public void somemethodusingclasscdostuff() {         myclass.dostuff(myvar);     } }  public final class classc extends classb {      // stuff mystuff     // stuff myvar     public void dostuff(string myvar) {         system.out.println(myvar);     } }