ජාවා පරාවර්තනය තරමක් බලවත් වන අතර එය ඉතා ප්රයෝජනවත් වේ. ජාවා පරාවර්තනය මඟින් පන්ති, අතුරුමුහුණත්, ක්ෂේත්ර සහ ක්රමවේදයන් ධාවන වේලාවේදී පරීක්ෂා කිරීමට හැකි වේ . නව වස්තූන් ක්ෂණිකව ක්රියාත්මක කිරීම, ක්රමවේදයන් ක්රියාත්මක කිරීම සහ පරාවර්තනය භාවිතා කරමින් ක්ෂේත්ර අගයන් ලබා ගැනීම / සැකසීම ද කළ හැකිය .
පරාවර්තනය භාවිතා කරන්නේ කෙසේද යන්න ඔබට පෙන්වීමට ඉක්මන් ජාවා පරාවර්තන උදාහරණයක්:
Method[] methods = MyObject.class.getMethods();
for(Method method : methods){
System.out.println("method = " + method.getName());
}
මෙම උදාහරණය පන්ති වස්තුව MyObject නමින් පන්තියෙන් ලබා ගනී. පංති වස්තුව භාවිතා කිරීමෙන් උදාහරණයට එම පන්තියේ ක්රම ලැයිස්තුවක් ලැබේ, ක්රම නැවත කියවා ඒවායේ නම් මුද්රණය කරයි.
හරියටම මේ සියල්ල ක්රියා කරන ආකාරය මෙහි විස්තර කර ඇත
සංස්කරණය කරන්න : වසර 1 කට පමණ පසු මම මෙම පිළිතුර සංස්කරණය කරන්නේ පරාවර්තනය පිළිබඳ කියවීමේදී පරාවර්තනය පිළිබඳ තවත් භාවිතයන් කිහිපයක් මට ලැබී ඇති බැවිනි.
- වසන්තය බෝංචි වින්යාසය භාවිතා කරයි:
<bean id="someID" class="com.example.Foo">
<property name="someField" value="someValue" />
</bean>
වසන්ත සන්දර්භය මෙම <බෝංචි> මූලද්රව්යය ක්රියාවට නංවන විට, එම පන්තිය ක්ෂණිකව ක්රියාත්මක කිරීම සඳහා "com.example.Foo" තර්කය සමඟ Class.forName (String) භාවිතා කරයි.
<දේපල> මූලද්රව්යය සඳහා සුදුසු සැකසුම ලබා ගැනීමට එය නැවත පරාවර්තනය භාවිතා කර එහි අගය නිශ්චිත අගයට සකසනු ඇත.
- පුද්ගලික / ආරක්ෂිත ක්රම පරීක්ෂා කිරීම සඳහා ජුනිට් පරාවර්තනය භාවිතා කරයි.
පුද්ගලික ක්රම සඳහා,
Method method = targetClass.getDeclaredMethod(methodName, argClasses);
method.setAccessible(true);
return method.invoke(targetObject, argObjects);
පුද්ගලික ක්ෂේත්ර සඳහා,
Field field = targetClass.getDeclaredField(fieldName);
field.setAccessible(true);
field.set(object, value);