Я знаю, что в C++ переменных блока область применения, например, следующий код работает в C++Какова область действия переменной java в блоке?
void foo(){
int a = 0;
for(int i = 0; i < 10; ++i){
int a = 1; //re-define a here.
}
}
, но этот фрагмент не работает в Java, он сообщает «дублирует локальные переменные а», делает это означает, что переменные java не имеют области BLOCK?
Что вы подразумеваете под "не работает"? Ошибка компилятора или предупреждение, или ...? Пожалуйста, постарайтесь уточнить свои описания. –
. Хорошее расширенное обсуждение об этом можно найти здесь: http://stackoverflow.com/questions/141140/why-does-java-not-have-block-scoped-variable-declarations –