если мы пытаемся сделатьПочему мы не можем выполнить задание в классе?
class A{
int a = 5 ;
a=6; // we will get error
}
я видел этот вопрос, как у меня, но не то же самое Why can't I do assignment outside a method?
но ответы не убедили меня, как here
мы видим, что заявление в заявлении а также присваивание, поэтому скобки класса должны быть блоком кода, содержащим их, также каждый оператор находится внутри блока кода, который, несомненно, будет в классе как верхний уровень или методы как ниже, так что, как говорится, оператор должен быть только внутри блок кода?
Мне нужен ответ или ссылка, пожалуйста? спасибо за чтение.
«так брекеты класса должен быть блок кода» - нет, объявление класса не учитывается в качестве блока. Не совсем понятно, чего вы пытаетесь достичь здесь. Вы * не можете * писать произвольные утверждения в объявлениях класса или только инициализатора. Вы можете прочитать [JLS] (http://docs.oracle.com/javase/specs/jls/se8/html/index.html) для всех деталей, но в принципе вам нужно принять, что это правила. –
Я не уверен, что вы просите. Почему «должны» классовые брекеты ведут себя так, как вам кажется? Они этого не делают; это просто Java. –
, так что это не сработало, потому что 1) тело класса не является блоком, если это так, так как он принимает объявление, поскольку ссылка говорит, что ему нужен блок кода. 2) класс класса принимает только декларацию. Я думаю, что это правильный ответ. – Sam