wenn wir versuchen,Warum können wir keine Zuweisung im Klassenkörper machen?
class A{
int a = 5 ;
a=6; // we will get error
}
ich es diese Frage wie meine sah zu tun, aber nicht das gleiche Why can't I do assignment outside a method?
aber die Antworten mich nicht überzeugen, wie here
wir diese Erklärung sind Erklärung siehe wie auch die Zuordnung, so dass die Klasse geschweifte Klammern der Block des Codes sein sollte, der sie enthält, auch jede Anweisung ist in einem Block von Code sicher in der Klasse als oberste Ebene oder Methoden als niedriger, so wie sie sagen, muss eine Anweisung nur innerhalb einer sein Block von Code?
ich brauche eine antwort oder eine referenz bitte? danke fürs lesen.
„so dass die Klasse Klammern der Code-Block sein sollten“ - nein, eine Klassendeklaration nicht als Block zählt. Es ist nicht wirklich klar, was Sie hier erreichen wollen. Sie * können keine willkürlichen Anweisungen in einer Klasse schreiben - nur Deklarationen oder Initialisierungsblöcke. Sie können die [JLS] (http://docs.oracle.com/javase/specs/jls/se8/html/index.html) für alle Details lesen, aber grundsätzlich müssen Sie akzeptieren, dass dies die Regeln sind. –
Ich bin mir nicht sicher, was Sie fragen. Warum sollten sich "class" Zahnspangen so verhalten, wie Sie glauben, dass sie sollten? Sie tun es nicht; das ist nur Java. –
so das hat nicht funktioniert, weil 1) der Klassenkörper ist kein Block, wenn dies wahr ist, so wie es akzeptiert eine Deklaration als der Link sagt, es braucht auch einen Block von Code. 2) der Klassenkörper akzeptiert nur die Deklaration. Ich denke, das ist die nahe Antwort. – Sam