Hallo,
ich müßte ein Java Programm analysieren und hätte zu zwei Designaspekte des Programms eine Frage:
1) Ich habe eine Klasse Hello.java die unter anderem einen Thread startet - ExampleThread (der führt ein paar Operationen aus), der eine inner class von der Hello.java Klasse darstellt mit der Signature
Diese ExampleThread Klasse sollte in eine eigene Klasse ausgelagert werden aber der Scope nicht verändert werden. Somit wurde eine neue Klasse mit class ExampleThread extends Thread in einem eigenen java-file definiert, die die folgende Variable beihaltet:
Was bedeutet jetzt diese final Variable hello in der separaten ExampleThread Klasse? Wurde jetzt der Scope nicht verändert?
2) Das Programm hat unter anderem eine abstrakte Klasse, die sowohl Methoden implementiert als auch abstrakte Methoden definiert. Ist es vom Design her schlecht, wenn in dieser abstrakten Klasse Methoden von einer anderen Klasse meines Java Programms aufgerufen werden?
Ich hoffe, ich habe mich bei den beiden Frage verständlich ausgedrückt.
:?
danke
lg
mat
ich müßte ein Java Programm analysieren und hätte zu zwei Designaspekte des Programms eine Frage:
1) Ich habe eine Klasse Hello.java die unter anderem einen Thread startet - ExampleThread (der führt ein paar Operationen aus), der eine inner class von der Hello.java Klasse darstellt mit der Signature
Code:
private class ExampleThread extends Thread.
Diese ExampleThread Klasse sollte in eine eigene Klasse ausgelagert werden aber der Scope nicht verändert werden. Somit wurde eine neue Klasse mit class ExampleThread extends Thread in einem eigenen java-file definiert, die die folgende Variable beihaltet:
Code:
private final HelloWorld hello;
Was bedeutet jetzt diese final Variable hello in der separaten ExampleThread Klasse? Wurde jetzt der Scope nicht verändert?
2) Das Programm hat unter anderem eine abstrakte Klasse, die sowohl Methoden implementiert als auch abstrakte Methoden definiert. Ist es vom Design her schlecht, wenn in dieser abstrakten Klasse Methoden von einer anderen Klasse meines Java Programms aufgerufen werden?
Ich hoffe, ich habe mich bei den beiden Frage verständlich ausgedrückt.
:?
danke
lg
mat