Forum
Tipps
News
Menu-Icon

Objektorientierung Java

Guten Abend alle zusammen =)

kann mir ma jemand mit dieser Fehlermeldung weiter helfen ?

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
   The constructor PlayerTypI(String, GameMaster) is undefined
   The constructor PlayerTypII(String, GameMaster) is undefined
   PlayerTypeII cannot be resolved to a type
   PlayerTypeI cannot be resolved to a type
   The method getType() is undefined for the type Player

   at Evaluation.main(Evaluation.java:10)


Antworten zu Objektorientierung Java:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Sieht aus als hättest du ein (bzw. zwei) Import(s) vergessen.

Du benutzt ja anscheinend die beiden Klassen PlayerTypeI und PlayerTypeII, die muss der Compiler halt auch kennen.

Wenn die beide im selben Package liegen sollen wie deine Klasse mit der Main-Methode, dann hast du vieleicht auch einfach die Package-Angabe vergessen.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Du versuchst irgendwo in deiner Main-Methode 2 Objecte vom Typ "PlayerTypeI" bzw. "PlayerTypeII" zu erstellen und gibst denen jeweils einen String und irgendein Object vom Typ "GameMaster" mit.
Allerdings hast du hierfür keinen Constructor in den jeweiligen Klassen geschrieben, der das auch verarbeitet.

Ein Beispiel wies funzt:

public class GameMasterI
{
  //Konstruktor (der dir fehlt)
  public GameMasterI(String s, GameMaster master)
  {
   //hier ggf. code
  }

  //hier weitere Methoden und Variablen
}

Das selbe für die GameMasterII


Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Schonmal dran gedacht, Eclipse oder sowas zu installieren? Da werden solche Fehler gleich während der Codeerstellung erkannt und AUCH KURZ ERKLÄRT ;)

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Schonmal dran gedacht, Eclipse oder sowas zu installieren? Da werden solche Fehler gleich während der Codeerstellung erkannt und AUCH KURZ ERKLÄRT ;)

jupp, und Standard-Methoden wie Getter, Setter und Konstruktoren werden auf wunsch sogar Auto-generiert.

Und hier liegt meines erachtens die grosse Gefahr für den Anfänger.
Ich finde, solange die Programme überschaubar bleiben sollte man, vor allem als Anfänger, ruhig nen Editor benutzen.
Wenn man dan später auf größere Projekte umschwengt (und bis dahin auch die Grundlagen verstanden hat) kann man sich immernoch freuen, wie einfach die Welt plötzlich in Eclipse oder MyEclipse wird.

mfg
tremor4fun

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Seh ich eigentlich auch so. Aber in besonders hoffnungslosen Fällen hilft das vielleicht wenigstens dabei, das Programm überhaupt zum Laufen zu kriegen. Das Denken an sich nimmt einem aber auch Eclipse nicht ab ;)

greez 8)
JoSsiF

so ich habe ein constructor gemacht der sieht so aus
  PlayerTypI(){};

  PlayerTypI(String name) {
       this.name = name;
     }
   

wie fange ich den gamemaster in dem konstruktor von PlayerTypI auf ? den namen mit string s! aber das objekt ?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
wie fange ich den gamemaster in dem konstruktor von PlayerTypI auf ? den namen mit string s! aber das objekt ?

ohne Worte  ;)

Also:
Du hast zur Zeit 2 Konstruktoren für "PlayerTypI", einen leeren und einen, der einen String übergeben bekommt.
(siehe oben, soweit nix verkehrt!)


Irgendwo in deinem Quelltext musst du eine Zeile haben, die in etwa so aussieht:
PlayerTypI player = new PlayerTypI(name, master);
wobei "name" dann ein String und "master" ein Objekt vom Typ "GameMaster" ist.

Die fehlt also der Konstruktor...
public PlayerTypI(String name, GameMaster master)
{
  //hier ggf. irgendwas oder halt nicht
}
...denn ich Dir somit schon zum 2. mal geschrieben habe.
Also übernimm den endlich ! ;)

Somit solltest du dann für PlayerTypI 3 Konstruktoren haben.
Ob du die alle benötigst weiß ich nicht, da ich den Quelltext ja nicht kenne.
Ist aber eigentlich auch egal da (Achtung, Hintergrundwissen  ;D ) der Konstruktor eigentlich auch nur eine Methode ist, die nur verarbeitet wird, wenn Sie auch expliziet aufgerufen wurde.

mfg

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Nochmal 'ne kleine Portion Hintergrundwissen nachgeschoben:

Du brauchst eigentlich überhaupt keinen Konstruktor. Wenn du keinen hast, ruft Java automatisch einen Standardkonstruktor auf, die Attribute kannst du dann z.B. über Setter-Methoden zuweisen, oder auch direkt nach der Objektkonstruktion ;)

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Richtig, nur dann musst du alle Zeilen die irgendwie so

PlayerTypI player = new PlayerTypI(name, master);
oder so ähnlich aussehen ändern.

@JoSsiF
jetzt nicht die Leute verwirren  ;)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
@JoSsiF
jetzt nicht die Leute verwirren  ;)

;D

ich habe es auach ohne euch diesmal gebacken bekommen....danke für eure Zahlreiche beteiligung :D

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
ich habe es auach ohne euch diesmal gebacken bekommen....danke für eure Zahlreiche beteiligung :D

Och naja... is ja nicht so, dass keiner etwas geschrieben hätte ;D 

« Quellcode für Buttons in Homepagebaukasten einbringen?Druckerport mit BlitzBasic ansteuern »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Compiler
Als Compiler bezeichnet man ein Programm zum Übersetzen der Quellprogramme einer bestimmten Programmiersprache in ausführbare Dateien, also in die Maschinenspra...

Type 1 Schriften
Type 1 ist ein Schriftformat, das die Schrift-Beschreibung in Form von PostScript-Befehlen speichert. PostScript-Schriften werden mithilfe von PostScript-Operationen besc...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...