в чем разница между каноническое имя, простое имя и имя класса в класс java?


в java, в чем разница между этими:

object o1 = ....o1.getclass().getsimplename();o1.getclass().getname();o1.getclass().getcanonicalname();

я проверил документацию javadoc несколько раз, и все же это не объясняет его.я тоже сделала тест и не отражают никакого реального смысла за тем, как эти методы называются.