SORU
2 EKİM 2008, PERŞEMBE


Nasıl bir dize olarak yöntem adı verilen bir Java yöntemi çağırmak?

Eğer iki değişken var:

Object obj;
String methodName = "getName";

obj, sınıfını bilerek nasıl yöntemi methodName tarafından tespit diyebilir miyim? olmadan

Çağırılan yöntem herhangi bir parametre ve String dönüş değeri vardır.Java bean için bir alıcı.

CEVAP
2 EKİM 2008, PERŞEMBE


Kalçadan kodlama gibi bir şey olacaktır:

java.lang.reflect.Method method;
try {
  method = obj.getClass().getMethod(methodName, param1.class, param2.class, ..);
} catch (SecurityException e) {
  // ...
} catch (NoSuchMethodException e) {
  // ...
}

Parametreler gereken çok özel bir yöntemi varsa Eğer bu yöntem bağımsız değişken varsa mevcut yoğunuz, code > ver sadece birkaç varsa hayır () tanımlamak.

Sonra seni arayarak bu yöntemi çağırır

try {
  method.invoke(obj, arg1, arg2,...);
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {

Yine de bu tartışmaları bırakın .eğer para olsaydı zaten çağırmak. Ama evet. Java Reflection hakkında bilgi edinin

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BSA

    BSA

    9 NİSAN 2012
  • Drakinen

    Drakinen

    1 EYLÜL 2008
  • ŠĩŗĜŕôŵåɭȍҭҭ

    ŠĩŗĜŕô

    29 Kasım 2009