JavaではクラスをJarと呼ばれるファイルに格納して使いますが、1つのクラスローダに対して1つの名前のクラスまでしかロードできない仕様のため、複数バージョンの同じクラスが別々のJarに格納されたりすると、どのバージョンのクラスが動いているかわからなくなる事があります。
そんなときに調べる方法として、クラスから自分自身の位置を調べればよいのですが、実は簡単な方法があります。
というように書くと、URLにクラスファイルの位置が格納されるので、読まれているクラスの位置が分かります。クラスのロードの手段は、クラスローダのリソースのロードに依存する為、大抵は大丈夫ですが、たまに違う事もあるので目安程度と覚えておくとよいでしょう。
ちなみに上記例では、Hogeというクラスがxx.yy.Hogeというクラスの場合、ディレクトリのxx/yy/にあるHoge.classというファイルを取得しています。上記コードは、
とほぼ同等です。