Reflection API · interview question
When using Method.invoke() to call a method on an object, which of the following statements is true regarding the performance and type safety of the operation?
Multiple choiceMediumchapter-16-curatedpremiumreflection-apimethod-invoke
Answer and explanation
Correct answer
A. Reflection-based invocation is slower and bypasses compile-time type checks.
Why
Method.invoke() is slower due to the overhead of reflection and it bypasses compile-time type safety checks, as method signatures are resolved at runtime. This makes it more flexible but also more error-prone compared to direct method calls.
Test yourself on Reflection API
A free test with instant, explained results. No account needed.
More Reflection API questions
- Given using Class.forName("com.example.MyClass") in Java, what outcome should you expect?
- Which method would you use to check if a class is an interface using Reflection?
- In what scenario would you prefer reflection for method invocation over direct method calls?
- Which of the following is NOT a drawback of using Java Reflection?
- If you use Method.invoke() to call a private method, what must you do first?
- How does Java's reflection API impact type safety?