Untuk menjawab pertanyaan tentang membatasi ruang lingkup variabel, daripada berbicara tentang menutup / membuang variabel secara otomatis.
Di Java, Anda dapat menentukan cakupan anonim dan tertutup menggunakan tanda kurung kurawal. Ini sangat sederhana.
{
AwesomeClass hooray = new AwesomeClass()
// Great code
}
Variabel hooray
hanya tersedia dalam cakupan ini, bukan di luarnya.
Ini dapat berguna jika Anda memiliki variabel berulang yang hanya bersifat sementara.
Misalnya, masing-masing dengan index. Sama seperti item
variabel ditutup di atas loop for (yaitu, hanya tersedia di dalamnya), index
variabel ditutup di atas ruang lingkup anonim.
// 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
}
}
Saya juga menggunakan ini kadang-kadang jika Anda tidak memiliki loop for untuk menyediakan lingkup variabel, tetapi Anda ingin menggunakan nama variabel generik.
{
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
dilakukannya. Cakupan bukanlah seumur hidup (danusing
juga bukan tentang seumur hidup, tegasnya, karenaDispose
tidak menghancurkan memori objek.)