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

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009