java - Receive new value by two Class constructors -
i have 2 class:
public class classa { string newname; public classa() { system.out.println("new name in constructor: " + newname); } public static void main(string[] args) { classa = new classa(); am.action(); am.displaynewname(); } public void displaynewname() { system.out.println("new name in display method:" + getnewname()); } public void action() { classb ba = new classb(); system.out.println("new name in action:" + getnewname()); } public string getnewname() { return newname; } public void setnewname(string newn) { newname = newn; system.out.println("new name in set method: " + getnewname()); } } and:
public class classb { string newname = "jack"; classa a; public classb(){ a.setnewname(newname); } } i can not receive jack value on classa methods (like displaynewname() , action methods.
update
public class classb { string newname = "jack"; classa = new classa(); public classb(){ a.setnewname(newname); } } output:
new name in constructor: null new name in constructor: null new name in set method: jack new name in action:null new name in display method:null
variable a not initialized. throw nullpointerexception. need initialize in constructor adding line : a = new classa();
edit1:
from understood, need this:
public class classb { string newname = "jack"; public classb(classa a){ a.setnewname(newname); } } and in classb, modify action()
public void action() { classb ba = new classb(this); system.out.println("new name in action:" + getnewname()); }
Comments
Post a Comment