SORU
2 ŞUBAT 2011, ÇARŞAMBA


nasıl java parametre olarak Sınıfı geçtim mi?

java parametre olarak sınıf geçmek ve bu sınıftan bazı yöntemleri yangın için herhangi bir yolu var mı ?

void main()
{
    callClass(that.class)
}

void callClass(???? classObject)
{
    classObject.somefunction
    // or 
    new classObject()
    //something like that ?
}

Üzgünüm, Google Web Toolkit falan eklemeyi unuttum, Google Web Toolkit kullanıyorum ve yansıma desteklemiyor.

CEVAP
2 ŞUBAT 2011, ÇARŞAMBA


public void foo(Class c){
        try {
            Object ob = c.newInstance();
        } catch (InstantiationException ex) {
            Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Nasıl yöntem kullanarak yansıma çağırmak için

 import java.lang.reflect.*;


   public class method2 {
      public int add(int a, int b)
      {
         return a   b;
      }

      public static void main(String args[])
      {
         try {
           Class cls = Class.forName("method2");
           Class partypes[] = new Class[2];
            partypes[0] = Integer.TYPE;
            partypes[1] = Integer.TYPE;
            Method meth = cls.getMethod(
              "add", partypes);
            method2 methobj = new method2();
            Object arglist[] = new Object[2];
            arglist[0] = new Integer(37);
            arglist[1] = new Integer(47);
            Object retobj 
              = meth.invoke(methobj, arglist);
            Integer retval = (Integer)retobj;
            System.out.println(retval.intValue());
         }
         catch (Throwable e) {
            System.err.println(e);
         }
      }
   }

Ayrıca Bkz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013