getClass() முறை, வகுப்பு பொருள் மற்றும் பிரதிபலிப்புக்கான அறிமுகம் - 1

"வணக்கம், அமிகோ!"

"இப்போது முக்கிய நிகழ்வுக்கான நேரம் வந்துவிட்டது. நாங்கள் கிளாஸ் வகுப்பைப் பற்றி அறிந்து, பிரதிபலிப்பைத் தொடுவோம்.
நீங்கள் ஏற்கனவே உணர்ந்திருப்பதைப் போல, ஜாவாவில் உள்ள அனைத்தும் ஒரு பொருள். மேலும் ஒரு பொருளுக்கு என்ன தேவை? ஒவ்வொரு பொருளுக்கும் என்ன வரையறுக்கிறது? அது என்ன?"

"வகுப்பு!"

"சரி! நல்லது. ஒவ்வொரு பொருளுக்கும் ஒரு வகுப்பு உள்ளது. ஆனால் பொருள்களுக்குத் திரும்புவது... சில பொருள்கள் முழுவதுமாக ஒரு பொருளைக் கொண்டிருக்கும், மற்றவை அதை நிர்வகிக்க உதவுகின்றன."

"இந்த பிந்தைய வகை FileOutputStream மற்றும் Thread ஆகியவற்றை உள்ளடக்கியது. நீங்கள் ஒரு Thread பொருளை உருவாக்கும் போது , ​​ஒரு புதிய நூல் உருவாக்கப்படாது. தொடக்க() முறை என்று அழைக்கப்பட்ட பிறகு ஜாவா மெய்நிகர் இயந்திரத்தால் நூல் உருவாக்கப்பட்டது. இந்த பொருள் செயல்முறையை நிர்வகிக்க உதவுகிறது."

" FileOutputStream ஐப் போலவே : கோப்பு வட்டில் சேமிக்கப்படுகிறது, மேலும் OS சேமிப்பகத்தையும் அணுகலையும் நிர்வகிக்கிறது. ஆனால் ஜாவா மெய்நிகர் இயந்திரத்தின் உதவியுடன் கோப்பு பொருள்கள் மூலம் நாம் அதனுடன் தொடர்பு கொள்ளலாம்."

"ஆம், நான் ஏற்கனவே புரிந்துகொண்டேன்."

"எனவே, வகுப்புகளுடன் தொடர்புகொள்வதற்காக வகுப்பு என்ற சிறப்பு வகுப்பு உள்ளது."

"அதை யூகிக்க கடினமாக இல்லை."

"ஆம். ஒவ்வொரு முறையும் ஜாவா மெய்நிகர் இயந்திரம் ஒரு புதிய வகுப்பை நினைவகத்தில் ஏற்றும் போது, ​​அது ஒரு கிளாஸ் பொருளை உருவாக்குகிறது, அதை நீங்கள் ஏற்றப்பட்ட வகுப்பைப் பற்றிய குறிப்பிட்ட தகவலைப் பெற பயன்படுத்தலாம்."

"ஒவ்வொரு வகுப்பும் பொருளும் « வகுப்பு பொருள் » உடன் தொடர்புடையது ."

உதாரணமாக விளக்கம்
Class clazz = Integer.class;
முழு எண் வகுப்பின் வகுப்பு பொருளைப் பெறுகிறது.
Class clazz = int.class;
முழு வகுப்பின் வகுப்பு பொருளைப் பெறுகிறது.
Class clazz = "123".getClass();
ஒரு சரம் பொருளின் வகுப்பு பொருளைப் பெறுகிறது.
Class clazz = new Object().getClass();
பொருள் பொருளின் வகுப்பு பொருளைப் பெறுகிறது.

"ஆஹா! எவ்வளவு சுவாரஸ்யமானது!"

"ஜாவாவில் கிளாஸ் என்ற சொல் ஒரு முக்கிய சொல்லாகும், அதை மாறி பெயராகப் பயன்படுத்த முடியாது என்பது உங்களுக்கு நினைவிருக்கிறதா ?"

"ஓ, எனக்கு தெரியும், எனக்கு தெரியும், நான் மறந்துவிட்டேன்."

"நீங்கள் ஏற்கனவே எங்காவது கிளாஸ் ஆப்ஜெக்டைப் பயன்படுத்தியுள்ளீர்களா?"

"ஆம், சமமான முறையை நாங்கள் சொந்தமாக செயல்படுத்தும்போது அதைப் பயன்படுத்தினோம்."

"ஆம், பொருள்கள் ஒரே வகுப்பைக் கொண்டிருக்கின்றனவா என்பதைச் சோதிக்க நீங்கள் getClass() முறையைப் பயன்படுத்தலாம்."

"இந்த பொருளை நீங்கள் என்ன செய்ய முடியும்?"

"சரி, நிறைய விஷயங்கள்:"

ஜாவா குறியீடு விளக்கம்
Class s = int.class;
String name = s.getName();
வகுப்பின் பெயரைப் பெறுகிறது.
Class s = Class.forName("java.lang.String");
பெயரால் ஒரு வகுப்பைப் பெறுகிறது.
Object o1 = String.valueOf(1);
Object o2 = 123 + "T";
o1.getClass() == o2.getClass();
பொருள்களின் வகுப்புகளை ஒப்பிடுகிறது.

"சுவாரஸ்யமானது, ஆனால் நான் நினைத்தது போல் குளிர்ச்சியாக இல்லை."

"அது கூலாக இருக்க வேண்டுமா? பிரதிபலிப்பும் இருக்கிறது .  பிரதிபலிப்பு சூப்பர் கூல்."

" பிரதிபலிப்பு என்றால் என்ன ?"

" பிரதிபலிப்பு என்பது ஒரு வகுப்பின் தன்னைப் பற்றிய தகவலைப் பெறுவதற்கான திறன் ஆகும். ஜாவாவில் சிறப்பு வகுப்புகள் உள்ளன:  புலம் மற்றும் முறை , வகுப்புகளுக்கான வகுப்பு வகுப்பைப் போன்றது . வகுப்புப் பொருள்கள் ஒரு வகுப்பைப் பற்றிய தகவலைப் பெறுவதைப் போல, புலப் பொருள்கள் ஒரு புலத்தைப் பற்றிய தகவலை வழங்குகின்றன. , மற்றும் Method ஆப்ஜெக்ட் ஒரு முறையைப் பற்றிய தகவலை வழங்குகிறது. மேலும் அவற்றை நீங்கள் என்ன செய்ய முடியும் என்பதைப் பாருங்கள்:"

ஜாவா குறியீடு விளக்கம்
Class[] interfaces = List.class.getInterfaces();
பட்டியல் வகுப்பின் இடைமுகங்களுக்கான வகுப்புப் பொருட்களின் பட்டியலைப் பெறுகிறது
Class parent = String.class.getSuperclass();
சரம் வகுப்பின் பெற்றோர் வகுப்பின் வகுப்புப் பொருளைப் பெறுகிறது
Method[] methods = List.class.getMethods();
பட்டியல் வகுப்பின் முறைகளின் பட்டியலைப் பெறுகிறது
String s = String.class.newInstance();
புதிய சரத்தை உருவாக்குகிறது
String s = String.class.newInstance();
Method m = String.class.getMethod("length");
int length = (int) m.invoke(s)
சரம் வகுப்பின் நீளம் முறையைப் பெற்று, அதை சரம் s இல் அழைக்கிறது

"ஆஹா! இப்போது அது மிகவும் அருமையாக இருக்கிறது!"