this.getClass().getPackage()
這個方法會呼叫到class的所屬ClassLoader之getPackage(String name)
而如果ClassLoader是特殊客製的,必須要記得在實作defineClass()這個方法時,
適時的呼叫definePackage(pkgname,null,null,null,.....);這個方法
ClassLoader本身有維護一個HashMap
definePackae()會以對應的pkgname產生一個Packae物件實例,存入這一個HashMap
如此一來客製的ClassLoader的getPackage(String name)方法才會正確運作,
否則只會傳回null。
沒有留言:
張貼留言