SORU
6 ŞUBAT 2009, Cuma


Bir paket yansıma kullanarak tüm sınıflar bulabilir misin?

Belirli bir paket içinde tüm sınıfları veya arabirimleri bulmak mümkün mü? (Çabuk *3 örneğin* şöyle bir bakınca yok gibi görünüyor.)

CEVAP
6 ŞUBAT 2009, Cuma


Sınıf yükleyiciler dinamik yapısı nedeniyle, bu mümkün değildir. Sınıf yükleyiciler sadece sınıflar için isteklerini verdi, bunların yerine sağlayabilir hangi VM söylemek için gerekli değildir, ve bir sınıf dönmek veya bir özel durum var.

Kendi sınıf yükleyiciler yazmak veya sınıf yolları incelemek ve çömlekler olup, Olası bu bilgileri bulmak için. Bu, yansıma olmasa da dosya işlemleri ile yapılacaktır. Hatta size bu konuda yardımcı olabilir kütüphaneler olabilir.

Eğer üretilen veya uzaktan teslim sınıflar varsa, o sınıfları bulmak mümkün olmayacaktır.

Normal yöntemi yerine bir yerde bir dosya, ya da farklı bir sınıfta onları referans erişim ihtiyacınız sınıfı kaydetmek için. Veya sadece isim koymaya geldiğinde Kongre kullanın.

Ek: The Reflections Library geçerli bir sınıf içinde ders görünmesini sağlar. Bir paketteki tüm sınıflar için kullanılabilir:

 Reflections reflections = new Reflections("my.project.prefix");

 Set<Class<? extends Object>> allClasses = 
     reflections.getSubTypesOf(Object.class);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • Hidden Wolf TV

    Hidden Wolf

    1 EKİM 2009
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006