public class whoami { public static void tell(Object o) { System.out.println("Az én nevem " + o.getClass().getName() + ", és " + o.getClass().getSuperclass().getName() + " leszármazottja vagyok."); } public static void main(String args[]) { tell(new whoami()); } }whoami.java |
import java.lang.reflect.*; public class ShowArray { public static void main(String args[]) { if(args.getClass().isArray()) { System.out.println("Típus: " + args.getClass().getName()); System.out.println("Elem típus: " + args.getClass().getComponentType().getName()); if(Array.getLength(args) > 0) { System.out.println("Első elem: " + Array.get(args, 0)); } } } }ShowArray.java |
public class CounterTrace { public static void main(String[] args) { ICounter real = new Counter(); real.inc(); // számláló értéke 1 real.inc(); // számláló értéke 2 real.dec(); // számláló értéke 1 // kiíratáskot meghívódik a számláló toString metódusa System.out.println("real counter = " + real); // becsomagoljuk az igazi számlálót egy nyomkövető objektumba ICounter proxy = (ICounter)Tracer.newInstance(real); proxy.inc(); // számláló értéke 2; nyomkövetés real.inc(); // számláló értéke 3; nincs nyomkövetés! proxy.dec(); // számláló értéke 2; nyomkövetés // a nyomkövetésen keresztűl hívódik meg a toString metódus System.out.println("proxy counter = " + proxy); } } // CounterTrace
|
|
makeés futtatása:
make run