Щоб відповісти на питання щодо обмеження області змінної, замість того, щоб говорити про автоматичне закриття / розміщення змінних.
На Java ви можете визначити закриті, анонімні області застосування за допомогою фігурних дужок. Це надзвичайно просто.
{
AwesomeClass hooray = new AwesomeClass()
// Great code
}
Змінна hooray
доступна лише в цій області, а не поза нею.
Це може бути корисно, якщо у вас є повторювані змінні, які є лише тимчасовими.
Наприклад, кожен з індексом. Так само, як item
змінна закрита через цикл for (тобто доступний лише всередині неї), index
змінна закрита над анонімною сферою.
// first loop
{
Integer index = -1;
for (Object item : things) {index += 1;
// ... item, index
}
}
// second loop
{
Integer index = -1;
for (Object item : stuff) {index += 1;
// ... item, index
}
}
Я також використовую це іноді, якщо у вас немає циклу для надання змінної області, але ви хочете використовувати загальні імена змінних.
{
User user = new User();
user.setId(0);
user.setName("Andy Green");
user.setEmail("andygreen@gmail.com");
users.add(user);
}
{
User user = new User();
user.setId(1);
user.setName("Rachel Blue");
user.setEmail("rachelblue@gmail.com");
users.add(user);
}
using
робить. Область застосування - це не все життя (іusing
це не стосується життя, строго кажучи, оскількиDispose
це не знищує пам'ять об'єкта.)