Design your own class loader : Method « Reflection « Java Tutorial






import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.Method;

class MyClassLoader extends ClassLoader {
  public Class findClass(String name) {
    byte[] classData = null;
    try {
      FileInputStream f = new FileInputStream("C:\\" + name + ".class");
      int num = f.available();
      classData = new byte[num];
      f.read(classData);
    } catch (IOException e) {
      System.out.println(e);
    }
    Class x = defineClass(name, classData, 0, classData.length);
    return x;
  }
}

public class MainClass {

  static public void main(String args[]) throws Exception {
    MyClassLoader x = new MyClassLoader();
    Class c = x.loadClass(args[0]);
    Class getArg1[] = { (new String[1]).getClass() };
    Method m = c.getMethod("main", getArg1);
    String[] my1 = { "arg1 passed", "arg2 passed" };
    Object myarg1[] = { my1 };
    m.invoke(null, myarg1);

  }

}








7.5.Method
7.5.1.List methods of a class using Reflection
7.5.2.Design your own class loader
7.5.3.Get method my parameters
7.5.4.Show public methods.
7.5.5.Method Inspector
7.5.6.Invoke methods of an object using reflection
7.5.7.Call a member function to get the value
7.5.8.Prints out the declared methods on java.lang.Number
7.5.9.Demonstrates how to get simple method information
7.5.10.Prints out the declared methods on java.lang.Object
7.5.11.Demonstrates how to get specific method information
7.5.12.Get the current method name
7.5.13.Get the current method name With JDK1.5
7.5.14.Get method from a class by name
7.5.15.Get super class and all its declared methods
7.5.16.Invoke a method with parameter
7.5.17.Call a class method with 2 arguments
7.5.18.Call all possible exceptions during method invocation with reflection
7.5.19.get Declared Method by name and parameter type
7.5.20.Getting the Methods of a Class Object: By obtaining a list of all declared methods
7.5.21.Getting the Methods of a Class Object: By obtaining a list of all public methods, both declared and inherited.
7.5.22.Getting the Methods of a Class Object: By obtaining a particular Method object.
7.5.23.Invoke method with wrong parameters
7.5.24.Checks whether the specified class contains a method matching the specified name.
7.5.25.Find method
7.5.26.Returns method with the specified name
7.5.27.Sorts methods according to their name, number of parameters, and parameter types.
7.5.28.Contains Same Method Signature