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

  • FullMag

    FullMag

    15 ŞUBAT 2007
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • Top Gear

    Top Gear

    27 Mart 2006