PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : java.lang.NoSuchMethodError



GoShiva
16-01-2006, 21:37
ich bekomme folgenden fehler:
Exception in thread "main" java.lang.NoSuchMethodError: mon.Monster.<init>(Ljava/lang/String;DIILjava/lang/String;Z)V
at mon.MonsterVerwaltung.main(MonsterVerwaltung.java: 18)

Zeile 18 der MonsterVerwaltung.java:

mon.Monster myMonster = new mon.Monster(name, weight, hitPoints, foodUsage, resistTyp, isMagicAttacker);

Die Monster.java sieht folgendermaßen aus:

package mon; //Klasse befindet sich im Package "mon"


public class Monster { //Klasse Monster mit Eigenschaften und Konstruktoren
String name;
double weight;
int hitPoints;
int foodUsage;
String resistTyp;
boolean isMagicAttacker;

public Monster(){
}

public Monster(String pName, double pWeight, int pHitPoints, int pFoodUsage, String pResistTyp, boolean pIsMagicAttacker) { //1. Konstruktor, alle Attribute als Parameter
this.name=pName;
this.weight=pWeight;
this.hitPoints=pHitPoints;
this.foodUsage=pFoodUsage;
this.resistTyp=pResistTyp;
this.isMagicAttacker=pIsMagicAttacker;
}

public Monster(String pName, double pWeight, int pHitPoints, String pResistTyp) { //2. Konstruktor; name,resistTyp, weight und hitPoints als Parameter
this.name=pName;
this.weight=pWeight;
this.hitPoints=pHitPoints;
this.resistTyp=pResistTyp;
}


public Monster(String pName) { //3. Konstruktor; name als Parameter
this.name=pName;
}



/************************************************** ************************/

//Setter-Methoden

public void setName(String pName)
{
name=pName;
}

public void setWeight(double pWeight)
{
weight=pWeight;
}

public void setHitPoints(int pHitPoints)
{
hitPoints=pHitPoints;
}

public void setFoodUsage(int pFoodUsage)
{
foodUsage=pFoodUsage;
}

public void setResistTyp(String pResistTyp)
{
resistTyp=pResistTyp;
}

public void setIsMagicAttacker(boolean pMagicAttacker)
{
isMagicAttacker=pMagicAttacker;
}



/************************************************** *************************/

//Getter-Methoden

public String getName() {
return name;
}

public double getWeight() {
return weight;
}

public long getHitPoints() {
return hitPoints;
}

public int getFoodUsage() {
return foodUsage;
}

public String getResistTyp() {
return resistTyp;
}

public boolean getIsMagicAttacker() {
return isMagicAttacker;
}

}


woran liegts?
würde ich den defaultkonstruktor (public Monster(){}) in Monster.java nicht definieren, tritt der Fehler nicht auf. Diesen muss ich jedoch definieren, da nur so eine Vererbung möglich ist.

Lin728
17-01-2006, 16:44
Verwendest du JBuilder? Bei dem war sowas nämlich gang und gebe.

Versuch einfach mal alles zu löschen (auch händisch die .class-files) und alles neu zu kompilieren....

GoShiva
17-01-2006, 23:26
Ich kriege es einfach nicht zum Laufen.
komischerweise funktioniert es auf einem anderen rechner.
ich verwende eclipse, händisch löschen, neu erstellen und kompilieren hat auch nichts genützt

McFraggle
18-01-2006, 09:10
Wie funzt es denn auf einem anderen Rechner? Hast Du das gesamte Eclipse-Projekt kopiert und dort ebenfalls über Eclipse kompiliert?
Wenn ja, gleiche Eclipse- und SDK-Version?
Wenn nein, nur Klassen-Datein rüber geholt, jar rüber geholt, auf Konsole kompiliert?
Wenn es auf einer Kiste funzt, auf einer anderen nicht, müsste sich das Problem doch einkreisen lassen....

GoShiva
18-01-2006, 15:40
Habs nicht selbst probiert auf dem anderen rechner.
er hat sdk 1.5 und netbeans.
ich hab auch sdk 1.5 und auch mit netbeans probiert.
funzt immer noch nicht! immer der selbe fehler

GoShiva
20-01-2006, 11:15
Problem behoben!
java deinstalliert und neu raufgeschmissen.
danke für eure hilfe