main-Klasse kann nicht gefunden werden

lenarena

Mitglied
Ich habe bei dem Ausführen eines Programms folgendes Problem:

wenn ich auf "ausführen" gehe bekomme ich ein Fenster welches mir sagt "no main classes found"

Mein Code sieht so aus (es ist eine Superklasse Haustier - die zwei Subklassen Hund und Kaninchen besitzt).


Java:
package haustier;


public class haustier {

    private String name;
    private String tierart;
    private int alter;
    private boolean winterschlaf; 
    String nahrung;
    
    public void fressen(String nahrung){
        System.out.println(name+" frisst gerne "+nahrung);
    }
    
    public haustier(String name,String art,int alter, boolean winterschlaf){
        this.name = name;
        this.tierart = art;
        this.alter = alter;
        this.winterschlaf = winterschlaf;}
    
    
    public class hund extends haustier{
        String hunderasse;
        String futter;
        
        public hund(String name, String art, int alter, boolean winterschlaf, String hunderasse) {
            super(name,art,alter,winterschlaf);
            this.hunderasse = hunderasse;
             }

        public void setHunderasse(String hunderasse){};
        public String getHunderasse(){return hunderasse;}
        public void fressen(String futter){
        if(futter.equals("Hundefutter")) System.out.println("Das schmeckt ihm"); else System.out.print("Das frisst das Tier nicht");}
    
        public void sprechen(){
            System.out.println("WUFF!");
        }
        
        public class kaninchen extends haustier{
            String kaninchenrasse;
            
            public kaninchen(String name, String art, int alter, boolean winterschlaf, String kaninchenrasse){
               super(name, art, alter, winterschlaf);
                this.kaninchenrasse = kaninchenrasse;
            }
            
            public void setKaninchenrasse (String rasse){};
            public String getKaninchenrasse(){return kaninchenrasse;}
            
            public void fressen(String futter){
                 if(futter.equals("Karotten")) System.out.print("Das mag es"); else System.out.print("Igitt!");
            }
            public void sprechen(){System.out.println("Kaninchen sprechen nicht!");
        }
            public void ohrenaufstellen(){System.out.println("Das Kaninchen stellt die Ohren auf.");}
        
     
    public class zoo {
          public static void main(String[] args) {
                    hund h1 = new hund("Waldi", "Hund", 10, true, "Schäferhund");
                    
                    
                    h1.fressen("Hundefutter");
                    
                    
                }
            }
        }
}

Bei der Codezeile
Code:
public static void main(String[] args)
zeigt er mir folgenden Hinweis - "Illegal static declaration", "modifier static is only allowed in constant variable declarations".
Was mache ich falsch?
 
packe entweder die main-methode in die Klasse Haustier (Klassen schreibt man groß), oder lege für die Klasse Zoo eine neue Datei an.
 
Klassen groß schreiben!

und innere Klassen dürfte generell nichts statisches enthalten
 
wenn du EikeB nicht direkt glaubst, hilft es dann wenn ich sage, dass ihre Antwort erschöpfend alle möglichen Alternativen enthält? 😉
mehr gibts nicht
 

Neue Themen


Zurück
Oben