вывод про неймспейсы я сделал по двум причинам:
1. > Each ClassLoader defines a separate namespace for the classes loaded by it, so at runtime a class is uniquely identified by its package name and the ClassLoader that loaded it. A class is not visible outside its namespace; at runtime there's a protective shield between classes existing in separate namespaces.
>
http://www.comscigate.com/JDJ/archives/0808/chaudhri/index.html2. поковырял дебаггером, что будет происходить, если сделать
Kek.class.getClassLoader().getParent().loadClass("com.example.Kek");
— там лоадер проверяет, что
com.example
содержится в его мапке