The Reflect Part

Posted pp_crz_coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The Reflect Part相关的知识,希望对你有一定的参考价值。

The reflect part has many advantages.I heard that reflect is widely used in many frames.

In this part:

  1.Common method to get Class object:

    a)Class clazz = Class.forName(Qualified Name);

    b)Class clazz = Person.getClass();

    c)Class clazz = Person.class;

  2.Get the method:

    a)Method[] methods = clazz.getDeclaredMethods();

    b)Method method = clazz.getDeclaredMethod(method‘s name, parameters‘ class);

  3.Get the constructor:

    a)Constructor[] cons = clazz.getDeclaredConstructors();

    b)Constructor con = clazz.getDeclaredConstructor(parameters‘ class);

  4.Get the object:

    a)Person person = (Person) clazz.newInstance();

    b)Person person = (Person) constructor.newInstrance(parameters);

  5.Call the method:

    method.invoke(object,parameters);

 

What‘s going on when use the reflect?

  1.Load the person.class

  2.Create space in the heap memory

  3.Initialize the fields of this object

  4.Display the initialization

  5.Initialize the constructor

 

If you can use config file to configure the interface or class path, the code‘s extension will be very convenient.

For exmaple:

  If these is a file called config.txt. And the config.txt include the class or interface‘s path from the first line.

  main{

  BufferedReader reader = new BufferedReader(new FileReader(config file path));

  String line = reader.readLine();

  Class clazz = Class.forName(line);

  MyInterface mi = (MyInterface) clazz.newInstance();

  mi.test();

  }

 

If you want to use another Class object you can modify the config.txt , that is not a bad choice.

以上是关于The Reflect Part的主要内容,如果未能解决你的问题,请参考以下文章

he last packet sent successfully to the server was 0 milliseconds ago. The driver has not received a

The hierarchy of the type is inconsistent错误问题

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received

英语单选The literature and arts of a period _____ its values and tastes.

go语言的reflect(反射)

GO开发[六]:golang反射(reflect)