Создание Hashtable как final в java

Как мы знаем, цель ключевого слова final в java. Объявляя переменную как final, мы должны инициализировать переменную. как " final int a = 10;" Мы не можем изменить значение "a". Но если мы выберем HashTable, можно добавить некоторую ценность, даже объявив HashTable как final.

Пример ::

 private static final Hashtable<String,Integer> MYHASH = new Hashtable<String,Integer>() 
{{     put("foo",      1);     
       put("bar",      256);     
       put("data",     3);     
       put("moredata", 27);     
       put("hello",    32);     
       put("world",    65536);  }}; 

Теперь я объявляю MYHASH HashTable окончательной. Если я попытаюсь добавить к этому еще несколько элементов, это будет принято.

MYHASH.put("NEW DATA",      256);

Теперь «НОВЫЕ ДАННЫЕ» добавлены в HashTable. У меня такой вопрос: «Почему разрешено добавлять даже объявление в качестве окончательного ????

37
задан Sathish 3 November 2011 в 14:24
поделиться