நிலையான உள்ளமை வகுப்புகள் - 1

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

"உள்ளமைக்கப்பட்ட வர்க்கப் பிரகடனத்தின் பின்னணியில் நிலையான வார்த்தையின் அர்த்தம் என்ன என்பதைச் சுற்றிப் பார்ப்போம். நீங்கள் என்ன நினைக்கிறீர்கள்?"

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

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

"ஆமா. இயல்பான முறைகள் பொருள் குறிப்பை மறைமுகமாக சேமித்து வைக்கின்றன, ஆனால் நிலையான முறைகள் இல்லை. நிலையான வகுப்புகளிலும் இது தான், நான் சொல்வது சரிதானே, எல்லி?"

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

class Zoo
{
 private static int count = 7;
 private int mouseCount = 1;

 public static int getAnimalCount()
 {
  return count;
 }

 public int getMouseCount()
 {
  return mouseCount;
 }

 public static class Mouse
 {
  public Mouse()
  {
  }
   public int getTotalCount()
  {
   return count + mouseCount; // Compilation error.
  }
 }
}

"இந்த உதாரணத்தை கவனமாக மதிப்பாய்வு செய்வோம்."

"நிலையான getAnimalCount முறை என்ன மாறிகளை அணுக முடியும்?"

"நிலையானவை மட்டுமே. ஏனெனில் இது ஒரு நிலையான முறை."

"getMouseCount முறை என்ன மாறிகளை அணுகலாம்?"

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

"அது சரி. எனவே, ஸ்டேடிக் நெஸ்டட் மவுஸ் கிளாஸ், ஸ்டேடிக் மெத்தட் போன்றது, ஜூ கிளாஸின் நிலையான மாறிகளை அணுக முடியும், ஆனால் அது நிலையானது அல்லாதவற்றை அணுக முடியாது."

"ஒரு மிருகக்காட்சிசாலையின் பொருள் கூட உருவாக்கப்படாவிட்டாலும், எங்களால் பாதுகாப்பாக மவுஸ் பொருட்களை உருவாக்க முடியும். அதை நீங்கள் எப்படி செய்யலாம் என்பது இங்கே:"

class Home
{
 public static void main(String[] args)
 {
  Zoo.Mouse mouse = new Zoo.Mouse();
 }
}

"உண்மையில் மவுஸ் வகுப்பு மிகவும் சாதாரண வகுப்பு. ஜூ வகுப்பினுள் இது அறிவிக்கப்பட்டிருப்பது இரண்டு சிறப்பு அம்சங்களை அளிக்கிறது."

1) வெளிப்புற வகுப்பிற்கு வெளியே உள்ளமைக்கப்பட்ட வகுப்பின் (மவுஸ் வகுப்பு போன்றவை) பொருட்களை உருவாக்கும் போது, ​​வெளிப்புற வகுப்பின் பெயரைக் குறிப்பிட நீங்கள் டாட் ஆபரேட்டரையும் பயன்படுத்த வேண்டும்.

"இது போல், எடுத்துக்காட்டாக: Zoo.Mouse."

2) Zoo.Mouse வகுப்பு மற்றும் அதன் பொருள்கள் Zoo வகுப்பின் தனிப்பட்ட நிலையான மாறிகள் மற்றும் முறைகளுக்கான அணுகலைக் கொண்டுள்ளன (மவுஸ் வகுப்பும் Zoo வகுப்பினுள் அறிவிக்கப்பட்டிருப்பதால்).

"இன்னைக்கு அவ்வளவுதான்."

"எனவே ஒரு கூடுதல் பெயர் மற்றும் அதுதானா?"

"ஆம்."

"இது முதலில் தோன்றியதை விட எளிதானது."