வகுப்புகள் சிக்கலான தரவு வகைகள் என்பதைப் பற்றி நாங்கள் ஏற்கனவே பேசினோம். வகுப்புகளின் மறுபக்கத்தைப் பற்றி இப்போது கொஞ்சம் பேசலாம் - ஜாவா இயந்திரத்தால் வகுப்புகள் எவ்வாறு கையாளப்படுகின்றன. ஜாவாவில் எல்லாம் ஒரு பொருள், ஒரு வர்க்கம் கூட என்பதை நினைவில் கொள்ளுங்கள். வர்க்கம் என்பது ஒரு பொருள். அது உங்களுக்கு ஆச்சரியமாக இருக்கிறதா? பிறகு தொடரலாம்.

ஒரு வகுப்பை நினைவகத்தில் ஏற்றுகிறது

உண்மையில், ஒரு வகுப்பு நினைவகத்தில் ஏற்றப்படும் போது, ​​மூன்று சிறப்பு "பொருள்கள்" உருவாக்கப்படுகின்றன:

ஒரு வகுப்பை நினைவகத்தில் ஏற்றுகிறது

விளக்கப்படத்தின் சுருக்கமான விளக்கம்:

மஞ்சள் செவ்வகம்:

குறியீட்டு கோப்பு வட்டில் ".class" நீட்டிப்புடன் ஒரு கோப்பாக சேமிக்கப்படுகிறது. இது வகுப்பு, அதன் புலங்கள் மற்றும் முறைகள் மற்றும் பைட்கோடில் தொகுக்கப்பட்ட முறைகளின் மூலக் குறியீடு பற்றிய தகவல்களைக் கொண்டுள்ளது.

ஆரஞ்சு செவ்வகம்:

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

பச்சை செவ்வகம்:

ஜாவா இயந்திரம் வகுப்பின் அனைத்து நிலையான மாறிகள் மற்றும் முறைகளைக் கொண்ட ஒரு பொருளை உருவாக்குகிறது. வகுப்பின் பெயரைப் பயன்படுத்தி இந்த "பொருளை" அணுகலாம்.

எடுத்துக்காட்டாக, நீங்கள் எழுதும் போது , ​​வகுப்பில் அமைந்துள்ள நிலையான மாறியைக் குறிப்பிடுகிறீர்கள் . இந்த பொருள் நமது பச்சை செவ்வகமாகும். அங்குதான் நிலையான மாறி சேமிக்கப்படுகிறது.java.lang.Math.PIPIjava.lang.Mathjava.lang.MathPI

நீல செவ்வகம்:

ஜாவா இயந்திரம் ஒரு வகுப்பின் குறியீட்டை நினைவகத்தில் ஏற்றும்போது, ​​அது ஒரு சிறப்புப் java.lang.Classபொருளை உருவாக்குகிறது, இது ஏற்றப்பட்ட வகுப்பைப் பற்றிய தகவல்களைச் சேமிக்கிறது: அதன் பெயர், முறை பெயர்கள், புலப் பெயர்கள் மற்றும் வகைகள் போன்றவை.

"வகுப்பு" என்ற பெயர் கொஞ்சம் குழப்பமாக இருக்கலாம். இந்த வகுப்பு ஏற்றப்பட்ட வகுப்பைப் பற்றிய சில தகவல்களைச் சேமித்து வைப்பதால், இதை ClassInfo என்று அழைப்பது மிகவும் அர்த்தமுள்ளதாக இருக்கும்.

இது போன்ற கட்டளையைப் பயன்படுத்தி நீங்கள் எந்த வகைக்கும் வகுப்பு பொருளைப் பெறலாம்:

Class name = ClassName.class;

எடுத்துக்காட்டுகள்:

குறியீடு குறிப்பு
Class a = String.class;
வகுப்பைப் Classபற்றிய தகவலுடன் ஒரு பொருளைப் பெறுங்கள்String
Class b = Object.class;
வகுப்பைப் Classபற்றிய தகவலுடன் ஒரு பொருளைப் பெறுங்கள்Object
Class c = Integer.class;
வகுப்பைப் Classபற்றிய தகவலுடன் ஒரு பொருளைப் பெறுங்கள்Integer
Class d = int.class;
வகை Classபற்றிய தகவலுடன் ஒரு பொருளைப் பெறுங்கள்int
Class e = void.class;
வகை Classபற்றிய தகவலுடன் ஒரு பொருளைப் பெறுங்கள்void

எந்தவொரு பொருளிலிருந்தும் ஒரு வகுப்பு விளக்கப் பொருளின் குறிப்பை நீங்கள் பெறலாம், ஏனெனில் ஒவ்வொரு பொருளும் getClass()வகுப்பிலிருந்து பெறப்படும் முறையைக் கொண்டுள்ளது Object.

எடுத்துக்காட்டுகள்:

குறியீடு குறிப்பு
Class a = "Hello".getClass();
அதே பொருள்String.class
Class b = new Integer().getClass();
அதே பொருள்Integer.class
Class c = Boolean.TRUE.getClass();
அதே பொருள்Boolean.class