Felix: Was ist an diesem Datenfeld falsch?

Hallo,
ich habe gerade vorhin ein Datenfeld geschrieben und ich habe keine Ahnung, warum ich andauernd eine Meldung: ']' erwartet
bekomme, kann  mir jemand helfen?

package englisch.vok;

public interface Unit1 {

int CHECK = 2;

String[] check = new String[CHECK];

check[0] = "";
check[1] = "";

}

  1. Hallo Felix,

    check[0] = "";
    check[1] = "";

    Du kannst nicht einfach Anweisungen irgendwo in die Landschaft schreiben. Anweisungen müssen in eine Methode einen Konstruktor oder einen static Block (Code, der eine Klasse initialisiert)
    Keine dieser 3 Möglichkeiten hast Du in einem Interface. Du kannst den Inhalt des Arrays aber beim anlegen gleich mit angeben:

    String[] CHECK = new String[] {"", ""};

    Dein int-Feld kannst Du Dir dann auch spaaren, an die größe des Arrays kommst Du sowieso immer mit CHECK.length
    Da es sich um Felder eines Interface und damit um Konstanten handelt, solltest Du die Namen groß schreiben (Java Style Guide)

    Grüße

    Daniel