Why does Hashtable not take a null key?
null
Also why does HashMap allow null keys?
What is the purpose of making these two classes Key
It is just an implementation detail.
Hashtable is the older class, and its use is generally discouraged. Perhaps they saw the need for a null key, and more importantly - null values, and added it in the HashMap implementation.
Hashtable
HashMap