Ik heb niet echt een probleem maar meer een vraag of ik dit op de goede manier doe.
Ik heb een klasse genaamd Main. In deze klasse wordt de GUI gemaakt waarin een tekstbox en een command zit. (Overigens ontwikkel ik nu wat voor een Samsung telefoon in Java). Als de command wordt uigevoerd wordt een methode aangeroepen binnen dezelfde klasse. In deze methode wordt weer een nieuw object van een andere klasse gemaakt. Deze klasse heet NFC. In de Main klasse zit ook een public methode genaamd 'debug'. Deze debug methode format en append debug informatie (aan de hand van tekst die als argument wordt meegegeven) in de tekstbox.
Nu wil ik ook de debug methode kunnen aanroepen in de NFC klasse. Op dit moment (en dit heb ik in C# ook altijd gedaan) doe ik door in de constructor van NFC een argument Main te zetten. Op het moment dat ik een object van NFC aanmaak in de klasse Main voer ik het woord 'this' in bij dit argument. Dit wordt dan als volgt:
In de klase NFC in de constructor heb ik vervolgens dit staan:
Nu kan ik me voorstellen dat als Java het hele object kopieert dat dit niet goed is voor het geheugengebruik. Indien het puur een referentie is naar het object van Main dan zal het geen probleem zijn lijkt me.
Doe ik dit goed of kan het beter?
Bedankt voor jullie hulp
Ik heb een klasse genaamd Main. In deze klasse wordt de GUI gemaakt waarin een tekstbox en een command zit. (Overigens ontwikkel ik nu wat voor een Samsung telefoon in Java). Als de command wordt uigevoerd wordt een methode aangeroepen binnen dezelfde klasse. In deze methode wordt weer een nieuw object van een andere klasse gemaakt. Deze klasse heet NFC. In de Main klasse zit ook een public methode genaamd 'debug'. Deze debug methode format en append debug informatie (aan de hand van tekst die als argument wordt meegegeven) in de tekstbox.
Nu wil ik ook de debug methode kunnen aanroepen in de NFC klasse. Op dit moment (en dit heb ik in C# ook altijd gedaan) doe ik door in de constructor van NFC een argument Main te zetten. Op het moment dat ik een object van NFC aanmaak in de klasse Main voer ik het woord 'this' in bij dit argument. Dit wordt dan als volgt:
code:
1
| NFC nfc = new NFC(this); |
In de klase NFC in de constructor heb ik vervolgens dit staan:
code:
1
2
3
4
5
| Main main = null; public NFC(Main main) { this.main = main; this.main.debug("Debug informatie"); } |
Nu kan ik me voorstellen dat als Java het hele object kopieert dat dit niet goed is voor het geheugengebruik. Indien het puur een referentie is naar het object van Main dan zal het geen probleem zijn lijkt me.
Doe ik dit goed of kan het beter?
Bedankt voor jullie hulp