Hey Leute,
ich versuche gerade einen Code nachzuvollziehen und bin über das hier gestolpert:
Test.java:
- public class Test
- {
- public static TFRunnables tfRuns = new TFRunnables();
- private static void tfCommandDos(String s)
- {
- TFRunnables.TFRunnableDos tfrunnabledos = new TFRunnables.TFRunnableDos(tfRuns, s);
- Thread thread = new Thread(tfrunnabledos);
- thread.start();
- }
- }
Alles anzeigen
TFRunnables.java:
- public class TFRunnables
- {
- class TFRunnableDos
- implements Runnable
- {
- public void run()
- {
- // Code...
- }
- private String myArgs;
- public TFRunnableDos(String s)
- {
- myArgs = s;
- }
- }
- }
Alles anzeigen
Der Compiler bemängelt diese Stelle:
- TFRunnables.TFRunnableDos tfrunnabledos = new TFRunnables.TFRunnableDos(tfRuns, s);
...verständlich, da der Konstruktor
- TfRunnableDos(TFRunnable t, String s){}
nicht vorhanden ist.
Warum hat der Programmierer jedoch "tfRuns" eingefügt? Wenn ich den Konstruktor/Aufruf des Konstruktors demensprächend "korrigiere" bekomme ich diese Fehlermeldung:
Zitat
No enclosing instance of type TFRunnables is accessible. Must qualify the allocation with an enclosing instance of type TFRunnables (e.g. x.new A() where x is an instance of TFRunnables).
Hoffentlich ist das keine "Noob"-Frage
Vielleicht übersehe ich auch einfach nur das Offensichtliche. Hoffentlich kann mir jemand helfen
Dankeschön im Vorraus,
Chiller