Java Design Frage

Status
Nicht offen für weitere Antworten.

mathon

Bekanntes Mitglied
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

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
 
zu 1.
Mit dem Schlüsselwort final werden Konstanten deklariert. Sie können nicht verändert werden und eine Wertzuweisung nach erfolgter Initialisierung würde einen Compilerfehler auslösen.

zu 2.
Nein, das dürfte kein Problem sein, so lange du die Klassen immer gemeinsam veröffentlichst.
 
okay 2 ist klar, aber nochmal zu Punkt 1:

Warum wurde durch dieses final der Scope der ExampleThread klasse nicht verändert? - Denn zuerst war sie ja private in der Hello.java Klasse und jetzt ist sie in einem eigenen java-file mit class ExampleThread extends Thread definiert?
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben