Class類有幾個getName的方法,分別如下:
1赦政、Class.getSimpleName():類的簡單名稱胜宇,只包含類名,不包含包名恢着,對于數(shù)組,是在簡單名稱后加“[]”财破;
2掰派、Class.getCanonicalName():獲取類的全路徑類名。這個名稱與你寫代碼時使用的名稱是一致的左痢。也就是說靡羡,你需要定義一個變量時,變量類型如果寫的是全稱的話俊性,就是用的這個名字略步。對于內(nèi)部類的getCanonicalName,是在父類的getName基礎(chǔ)上定页,以“.”連接內(nèi)部類的簡單名稱
3趟薄、Class.getName():獲取類的全路徑類名。這個類名是計算機內(nèi)部使用的典徊,所以有時候會有一些奇怪的符號如"[L"表示對象數(shù)組杭煎,另外,對于內(nèi)部類的getName卒落,是在父類的getName基礎(chǔ)上羡铲,以“$”連接內(nèi)部類的簡單名稱
4、Class.getTypeName():將getName中表示數(shù)組的方式由奇怪的"[L"方式儡毕,換成了更直觀的“[]”形式也切,但內(nèi)部類父父類名稱,仍以“$”連接腰湾。
例如有一個類:test.MyClass雷恃,它有一個內(nèi)部類:Inner
則各方法調(diào)用結(jié)果如下表: