Új hozzászólás Aktív témák
-
BaLinux
tag
válasz
Protezis
#191
üzenetére
Jóra gondolsz. Akkor máshogy próbálom meg a dolgot

A Java nem scriptnyelv, nem erre való, tudom csak kíváncsi vagy. Ha valamire ilyen megoldást agyaltál ki, gondolj ki mást, mert nagy valószínűséggel rossz módszer.
Ettől függetlenül van kivétel (pl RPC vagy hasonló dolgok implementálása), és ezért van is megoldás minderre. Nézd meg a Java API doksiban a java.lang.reflect csomag tartalmát, mindent tartalmaz ami a nyelvi reflekcióhoz szükséges lehet. Metódusok, konstruktorok, kivételek, tömbök, mindent tud. Advanced topic!
Hogy lássad, kb. ennyiből állna a dolog:
ha van egy Osztaly nevű class-od, annak float function(int) metódusa, és annak egy o1 instance-ja, akkor a következő rész meghívja a függvényt, és a visszatérő értéket is megkapod.
Method m=Osztaly.getMethod(''function'', new Class[] {int.class});
Object ret=m.invoke(o1, new Object[] {new Integer(1)});
float vissza=((Float)ret).floatValue();
Kész. Persze semmi értelme ennek, mert írhatnád ezt is, ez ugyanaz:
float vissza=o1.function(1);
Csak az előbbinél észre se veszed ha elírtad a függvénynevet, vagy bármilyen hibát vétettél, csak futási időben, míg az utóbbinál már fordításnál. A típusbiztonság nagyon fontos a jó programban, úgyhogy törekedni kell rá.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Ducky One 3 FULL/TKL/SF/MINI billentyűzetek többféle színben és kapcsolókkal!
- HIBÁTLAN iPhone 13 Pro 128GB Alpine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS2978
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- BESZÁMÍTÁS! Gigabyte B650M R5 7600X 32GB DDR5 512GB SSD RX 6900XT 16GB Zalman Z1 PLUS NZXT 850W
- GYÖNYÖRŰ iPhone 13 Mini 128GB Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3886
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



