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