Получение имен всех классов Java, объявленных в пакете

Я пишу функциональность, в которой было бы полезно получить классы внутри определенного пакета моей программы. Кроме того, мне нужны только классы, которые являются подклассами определенного класса.

Мне нужны классы, чтобы вызывать на них статические методы.

Есть ли автоматический способ сделать это? Если да, то это медленно?

На случай, если я не совсем понял, я хочу примерно следующее:

ArrayList<Class<? extends MySuperClass>> classes = ;

classes.add(MyClass.class); 
classes.add(MyClass2.class); 

Вместо того, чтобы вызывать add для каждого класса, я хотел бы автоматически получать этот список классов.

] Количество классов невелико, поэтому я не возражал бы объявить их вручную, если автоматический трюк будет медленным - это приложение для мобильной платформы.

В любом случае, я также хотел бы знать, как вызвать статический метод для каждого метода в ArrayList:

  // error The method nameOfStaticMethod is undefined for the type Class<capture#2-of ? extends MySuperClass>
  classes.get(0).nameOfStaticMethod (); 

Спасибо за ваши комментарии.

6
задан MyNameIsZero 13 November 2010 в 14:51
поделиться