Sobes.tech
Junior — Middle

Ի՞նչ է Reflection API-ի հիմնական գործառույթը օբյեկտների և դասերի հետ աշխատելիս։

sobes.tech AI

Պատասխան AI-ից

Java- ի Reflection API-ն թույլ է տալիս ծրագրային կերպով հետազոտել և փոփոխել դասերի, օբյեկտների, մեթոդների և դաշտերի կառուցվածքը ծրագրի գործարկման ժամանակ:

Հիմնական խնդիրն է՝ հնարավորություն տալ դինամիկ կերպով ստանալ տեղեկություններ դասերի մասին (օրինակ՝ նրանց մեթոդներ, դաշտեր, կոնստրուկտորներ), ստեղծել օբյեկտներ, կանչել մեթոդներ և փոխել դաշտերը՝ առանց դրանց մասին նախապես իմանալու։

Սա օգտակար է ֆրեյմվորկների, գրադարանների, սերիալիզացիայի գործիքների, թեստերի և այլ դեպքերում, երբ անհրաժեշտ է աշխատել նախապես չճանաչված դասերով:

Reflection- ի միջոցով մեթոդը կանչելու օրինակ:

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
    }
}