Java send param by ref, so in Display, what append if object on which we
point via m_otherClass is set to null or overwrite in an other class(remove
or modification of object titi) ?
Java send param by ref, so in Display, what append if object on which we point via m_otherClass is set to null or overwrite in an other class(remove or modification of object titi) ?
Si lors de l'appel de ton constructeur toto(OtherClass titi); titi n'est pas null, et tant que dans ton instance de la classe toto tu ne mets pas explicitement à null m_otherClass, il n'y a pas de risque. Un objet n'est détruit que lorsque toutes ses références sont mises à null. Par contre si une autre instance de classe possède également une référence sur l'objet pointé par m_otherClass, ce dernier peut bien sûr être modifié en dehors de la classe toto.
OtherClass other = new OtherClass(); toto unToto = new toto(other); other.name = "toto li toto"; unToto.Display(); // affiche "toto li toto" other = null; unToto.Display(); // affiche toujours "toto li toto"
AKIRA wrote:
Java send param by ref, so in Display, what append if object on which we
point via m_otherClass is set to null or overwrite in an other
class(remove or modification of object titi) ?
Si lors de l'appel de ton constructeur toto(OtherClass titi); titi n'est
pas null, et tant que dans ton instance de la classe toto tu ne mets pas
explicitement à null m_otherClass, il n'y a pas de risque.
Un objet n'est détruit que lorsque toutes ses références sont mises à null.
Par contre si une autre instance de classe possède également une référence
sur l'objet pointé par m_otherClass, ce dernier peut bien sûr être modifié
en dehors de la classe toto.
OtherClass other = new OtherClass();
toto unToto = new toto(other);
other.name = "toto li toto";
unToto.Display(); // affiche "toto li toto"
other = null;
unToto.Display(); // affiche toujours "toto li toto"
Java send param by ref, so in Display, what append if object on which we point via m_otherClass is set to null or overwrite in an other class(remove or modification of object titi) ?
Si lors de l'appel de ton constructeur toto(OtherClass titi); titi n'est pas null, et tant que dans ton instance de la classe toto tu ne mets pas explicitement à null m_otherClass, il n'y a pas de risque. Un objet n'est détruit que lorsque toutes ses références sont mises à null. Par contre si une autre instance de classe possède également une référence sur l'objet pointé par m_otherClass, ce dernier peut bien sûr être modifié en dehors de la classe toto.
OtherClass other = new OtherClass(); toto unToto = new toto(other); other.name = "toto li toto"; unToto.Display(); // affiche "toto li toto" other = null; unToto.Display(); // affiche toujours "toto li toto"