Sobes.tech
Junior — Middle

Kāda ir Reflection API galvenā uzdevuma darbā ar objektiem un klasēm?

sobes.tech AI

Atbilde no AI

Java Reflection API ļauj programmatiski izpētīt un mainīt klases, objektu, metožu un lauku struktūru programmas izpildes laikā.

Galvenais uzdevums ir ļaut dinamiski iegūt informāciju par klasēm (piemēram, to metožu, lauku, konstruktoru informāciju), izveidot objektus, izsaukt metodes un mainīt laukus, nezinot tos iepriekš kompilācijas laikā.

Tas ir noderīgi ietvaros, bibliotēkās, serializācijas rīkos, testos un citos gadījumos, kad nepieciešams strādāt ar nezināmām klasēm iepriekš.

Piemērs Reflection izmantošanai metodes izsaukšanai:

import java.lang.reflect.Method;

public class ReflectionExample {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Class.forName("java.lang.String");
        Method method = clazz.getMethod("toUpperCase");
        String str = "hello";
        String result = (String) method.invoke(str);
        System.out.println(result); // HELLO
    }
}