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

  • pjtoohot

    pjtoohot

    15 NİSAN 2008
  • bored before i even began

    bored before

    30 Mart 2009
  • theKGB65

    theKGB65

    24 Aralık 2007