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

"நீங்கள் கூறுவதை கவனித்துக் கொண்டிருக்கிறேன்!"

"உண்மை எண் ஒன்று. Java நிரல் கிளாஸ்களைக் கொண்டுள்ளது. ஒவ்வொரு கிளாஸும் ஒரு தனிப்பட்ட கோப்பில் சேமிக்கப்படுகிறது, அதன் பெயர் கிளாஸ் பெயருடன் ஒத்துப்போகும். கோப்பு நீட்டிப்பு (file extension) java என்று இருக்கும்."

"எனவே, ஒரு நிரல் 'java' கோப்பு நீட்டிப்புடன் தொடர்ச்சியான கோப்புகளைக் கொண்டுள்ளது, மேலும் ஒவ்வொரு கோப்பும் ஒரு கிளாஸிற்கான குறிமுறியைக் கொண்டுள்ளது, சரியா?"

"அது முற்றிலும் சரி, அருண். ஒரு கோப்பானது MyCat.java என்று அழைக்கப்பட்டால், அதில் MyCat கிளாஸ் இருக்கும்."

"உண்மை எண் இரண்டு. நம்மிடம் பல கிளாஸ் கோப்புகள் இருக்குமானால், அவற்றை கோப்புறைகள் (folders) மற்றும் துணை கோப்புறைகளாகத் (subfolders) தொகுப்போம். கூடுதலாக, கிளாஸ்களும் பேக்கேஜ்கள் மற்றும் துணை பேக்கேஜ்களாகத் தொகுக்கப்படுகின்றன. தொகுப்புகள் மற்றும் துணை தொகுப்புகளின் பெயர்கள் கிளாஸ் குறிமுறையில் குறிக்கப்பட வேண்டும். மேலும் அவை டிரைவில் உள்ள கோப்புறை மற்றும் துணை கோப்புறை பெயர்களுக்கு ஒத்ததாக இருக்க வேண்டும்."

"இவ்வாறு, ஒருபுறம், கோப்புறைகளில் கோப்புகளை சேமித்து வைத்திருக்கிறோம், மறுபுறம் - பேக்கேஜ்களில் கிளாஸ்கள் சேமிக்கப்படுகின்றன. ஒரு கிளாஸ் பெயர் கிளாஸை விவரிக்கும் கோப்பின் பெயருடன் ஒத்ததாக இருக்க வேண்டும். பேக்கேஜின் பெயரானது, கிளாஸ் சேமிக்கப்பட்டுள்ள கோப்புறையின் பெயருடன் ஒத்துப்போக வேண்டும்."

"மேலும் விவரங்களைத் தர முடியுமா?"

"உள்ளமைக்கப்பட்ட பேக்கேஜ்களின் பெயர்கள் கிட்டத்தட்ட URLகளைப் போலவே முற்றுப்புள்ளிகளால் பிரிக்கப்படுகின்றன."

"வேறு விதத்தில் கூறுவதானால், Cat என்ற கிளாஸ் உள்ளது என்று வைத்துக்கொள்வோம், இது animals.pets தொகுப்பில் சேமிக்கப்பட்டுள்ளது. அதாவது:

அனைத்து செயற்திட்டக் கோப்புகளும் வன்வட்டில் சில கோப்புறைகளில் சேமிக்கப்படுகின்றன (அதை src என்று அழைப்போம்).

அதில் animals என்ற பெயர் கொண்ட கோப்புறை உள்ளது, அதனுள் pets என்ற துணைக் கோப்புறை உள்ளது.

pets கோப்புறையில் Cat.java என்ற கோப்பு உள்ளது, இதனுள் Cat கிளாஸிற்கான குறிமுறை இருக்கும்."

"நான் புரிந்து கொண்டேனா என்று எனக்குத் தெரியவில்லை."

"பாருங்கள். கிளாஸ்கள் மற்றும் தொகுப்புகளின் அமைப்பு இயக்ககத்தில் உள்ள கோப்புறைகள் மற்றும் கோப்புகளின் கட்டமைப்பை பிரதிபலிக்கும். src/com/houses கோப்புறையில் சேமிக்கப்பட்ட House.java என்ற கோப்பு நம்மிடம் இருந்தால், House என்ற ஒரு கிளாஸும் இருக்க வேண்டும், இது com.houses என்ற தொகுப்பில் சேமிக்கப்பட்டிருக்கும்."

"புரிந்தது."

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

        பேக்கேஜ் பெயர்
package com.futujava.lesson2;
import java.io.IOException;
/**
 * பயனர்: பொது
 * தேதி: 12/21/12
 * நேரம்: 11:59
 */
             கிளாஸ் பெயர்
public class Task1
{
                                                              
   private static String TEXT = "Kiss my metal rear actuator";⎥ CLASS VARIABLE
                                                              
                                                                                 
   public static void main(String[] args) throws IOException                     
   {                                                                             
      திரை வெளியீடு                    ஒற்றை வரி கருத்துரை                
      System.out.println(text); //ஒற்றை சரத்தைக் காட்டு 
        பல வரி கருத்துரை                                                      
      /*                                                                         
        இது பல வரி கருத்துரை.                                                
        கீழே உள்ள குறிமுறை மூன்று ஒத்த சரங்களைக் (strings) காட்டும்.    ⎥ main() METHOD
       */                                                                        
      மாறி அறிவிப்பு                                                            
      String s = "Ho-ho-ho!";                                                    
      வழிமுறை அழைப்பு                                                       
      printTextMoreTimes(s, 3);                                                  
   }                                                                             
                                                                                 
                                   வழிமுறை அளவுருக்கள்   
   public static void printTextMoreTimes(String s, int count) ⎥ வழிமுறைக் கையொப்பம்
                                                            
                                                                
   {                                                            
      லூப்                                                      
      for (int i = 0; i < count; i++)                           
       லூப் உடல்                                              ⎥ வழிமுறை உடல்/குறிமுறை
      {                                                         
         System.out.println(s);                                 
      }                                                         
   }                                                            

}

"இது ஒரே ஒரு விளக்கத்திற்குப் பிறகு தெளிவாகிவிட்டது."

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