Constructor is undefined

04/15/2013 13:59 •kяyteя•#1
Hey,

ich bin im Moment ziemlich am Verzweifeln.
Ich versuche mich seit 2 Tagen daran Plugins für Bukkit
zu programmieren, doch beim anlegen eines Executors
zeigt er mir einen Fehler an.

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

Als Verbesserungsvorschlag bei
HTML Code:
this.getCommand("tut").setExecutor(new GSCommand());
nennt er mir folgende Möglichkeit
HTML Code:
this.getCommand("tut").setExecutor(new GSCommand(null));
doch da erhalte ich beim Ausführen des Befehls einen Error,
das selbe bei
HTML Code:
this.getCommand("tut").setExecutor(new GSCommand(this));
Also wie definiere ich den Executor?
Ich hoffe mir kann wer helfen. Danke im Voraus.
04/15/2013 18:44 ComputerBaer#2
Der Fehler kommt, weil dein Konstruktor:
Code:
public GSCommand(Test2 plugin)
ganz offensichtlich einen Parameter vom Typ "Test2" erwartet. Bei deinem Aufruf:
Code:
this.getCommand("tut").setExecutor(GSCommand());
übergibst du allerdings keinen Parameter.

Mit dem
Code:
this.getCommand("tut").setExecutor(GSCommand(this));
sollte es eigentlich problemlos gehen, weil es genau das ist, was er haben will.

Hast du nach der Änderung auch versucht es zu kompilieren? Vielleicht ist deine IDE manchmal etwas langsam beim erkennen solcher Änderungen.

---
In Anbetracht der Tatsache, dass du mit so einer Frag kommst, gehe ich mal ganz stark davon aus, dass du vorher nicht die Grundlagen von Java gelernt hast. Das sollte man aber machen, wenn man mehr als nur "HelloWorld"-Plugins und "VideoTutorialAbschreib"-Plugins machen will.
04/15/2013 21:18 •kяyteя•#3
Danke erstmal...
Ist nicht so das ich mich da gar nicht auskenne ^^
Code:
this.getCommand("tut").setExecutor(GSCommand(this));
Hatte ich versucht, da es hinterher aber nen Fehler in der Console beim
testen des Plugins gab, nahm ich an, dass der Fehler damit zu tun hat,
habe mittlerweile aber rausgefunden wo der Fehler lag und habs auch beheben
können.
Hast aber schon i-wo Recht, da ich bisher immer nur mit C++ und C#
programmiert habe und mir dachte, das es so ähnlich ist wie Java, versuche
ich mich einfach mal daran. Ich komme aber soweit ganz gut zurecht, auch
ohne jeglichen Java Grundlagen ^^
Vllt wäre das aber mal nen Punkt den ich mir anschauen sollte :D
04/15/2013 21:24 ComputerBaer#4
Wenn du C++ und C# kannst, dann sollten dir Konstruktoren nichts neues sein und auch das lesen der Fehlermeldung solltest du eigentlich beherrschen.

Wenn du C# kannst, solltest du dadruch eigentlich schon sogut wie alle Grundlagen drin haben, die Unterschiede zu Java sind da gering.

Ich bin auch von C++ und C# zu Java gekommen, allerdings nur für Minecraft, bzw. Bukkitplugins. Alles andere mache ich weiterhin in anderen Sprachen.
04/15/2013 22:54 •kяyteя•#5
Ne, neu ist es mir nicht, bin nur heute den ganzen Tag schon etwas
neben der Spur. Die einfachsten Probleme konnte ich heute nicht lösen :D