erzeugtes Objekt erkennt Array nicht

Razorhawk

Webdesigner und MSP
Ich habe hier eine Klasse die ich gleich hier ihnschreibe und er gibt mir bei dem Programm in 3 Zeielen Fehler wieder. Es sind die stellen wo der array auf objektmethoden zugreifen möchte: zoo kann nicht aufgelöst werden oder ist kein Feld
Ich habe noch 3 weitere klassen.
Eine nennt sich Tier in dem 3 methoden drin stehen : anzahlBeine(), name() und sagWas()
alle drei beinhalten nur eine Rückgabe dieser 3 methoden mit einer globalen Variable.
so dann habe ich 2 weitere Klassen Vogel und Katze, welche Tier erben und im Konstruktor den globalen Variablen aus Tier ihre Werte zuweisen.

Und hier die Klasse... woran könnte der Fehler liegen? Ich wüsste nicht, warum er keine Array aus Objekten erstellen können sollte:

Code:
class Zoo {
	
	public static void main(String[] args) {
		
		Tier[] zoo = new Tier[3];
		zoo[0] = new Katze("Sylvester");
		zoo[1] = new Vogel("Tweety");
		zoo[2] = new Katze("Tom");
		
		for (int i = 0; i < zoo.length; i++) {
			System.out.print(zoo[i].name + " hat " +
					zoo[i].anzahlBeine + " Beine und sagt ");
			zoo[i].sagWas();
		}
		
	}
	
}
 
Zuletzt bearbeitet:
Er findet keine Klasse Tier.

In deinem Code definierst du nur eine Klasse Zoo. Befindet sich Katze, Vogel, Tier im selben Package?
Ansonsten musst du sie importieren
 
Jap alle 4 Klassen befinden sich im gleichen Package!
Deswegen wundert es mich.
Oder hab ich was mit der Vererbung falsch gemacht? glaub ich eigentlich nicht... ich geb mal den Code der anderen 3 Klassen mit.

Code:
public class Tier {

	protected String tierName, sagt;
	protected int beine;
	
	public Tier(){

		this.beine = 0;
		this.sagt = "";
		this.tierName = "";
		
	}
	
	public int anzahlBeine(int beine){
		
		return beine;
		
	}
	
	public String sagWas(String sagt){
		
		return sagt;
		
	}
	
	public String name(String tierName){
		
		return tierName;
		
	}
	
}

Code:
public class Vogel extends Tier {
	
	public Vogel (String name){
		
		this.beine = 2;
		this.sagt = "piep";
		this.tierName = name;
		
	}

}

Code:
public class Katze extends Tier {

	public Katze(String name){
		
		this.beine = 4;
		this.sagt = "miau";
		this.tierName = name;
		
	}
	
}
 
Oh man bin ich blöd... hat isch alles erledigt... kommt davon wenn man Variablen und Methoden anders nennt als man sie aufruft.... . :rolleyes: :-(
 
Deine Rückgabemethoden dürfen keine Parameter enthalten.

Also statt anzahlBeine(int beine) -> anzahlBeine() usw.

Dann sollte es laufen. Ansonsten wären das posten der Fehler, die auftreten immer noch ganz hilfreich.
 
Zurück