我们知道java中“final”关键字的目的。在将变量声明为final时,我们必须初始化变量。喜欢“final int a = 10;”
我们不能改变“a”的价值。但是,如果我们去使用HashTable,它可能会添加一些值,甚至将HashTable声明为final。
例::
private static final Hashtable MYHASH = new Hashtable()
{{ 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。
我的问题是为什么它允许添加甚至宣布为最终???