Last updated 2004-06-28 by Roedy
Green ©1996-2004 Canadian Mind Products
Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
You are here : home : Java Glossary : R words : reflection.
Here is a simple example of how it works:
// The following code dynamically does // new Dyna().setName("Matt"); // using reflection. // It is quite a production, and is quite slow. String methodName = "setName"; String someData = "Matt"; Class dynaclass = Class.forName( "Dyna" ); // method accepts parameters, define the types in order here as Class[] Class[] classParams = new Class [] { String. class}; // set the method of the class object Method someMethod = dynaclass.getMethod( methodName , classParams ); // pass values to fill parameters of method Object[] arguments = new Object [] { someData}; // invoke method via reflection someMethod.invoke( dynaclass.newInstance(), arguments );
Reflection has very high overhead. Make sure you can't solve your problem with a simple interface, Class.forName and a delegate object instead.
Kataba has a way of speeding up reflection 100x to almost the speed of interface calls via dynamic compliation (JVM byte code generation).
home |
Canadian Mind Products | |||
| mindprod.com IP:[24.87.56.253] | ||||
| Your IP:[80.134.30.163] | ||||
| You are visitor number 3031. | ||||
| Please send errors, omissions and suggestions | ||||
| to improve this page to Roedy Green. | ||||
| You can get a fresh copy of this page from: | or possibly from your local J: drive mirror: | |||
| http://mindprod.com/jgloss/reflection.html | J:\mindprod\jgloss\reflection.html | |||