Web hosting
Showing posts with label JAVA. Show all posts
Showing posts with label JAVA. Show all posts

Monday, 18 September 2017

JAVA Swing

Java Swing 

  • Introduction to java swing in Hindi 
  • Features of java swing in Hindi 
  • Swing hierarchy in Hindi 
  • Swing classes in Hindi

Introduction to Java Swing 

Abstract windows toolkit की कामियों को पूरा करने के लिए swing को बनाया गया है। AWT library basic GUI controls provide करती है। Swing AWT का advanced version है। AWT के साथ 2 problems होती है।
  • AWT programs size में बहुत बड़े होते है। 
  • AWT components fixed रहते है, आप उन्हें ज्यादा change नहीं कर सकते है।       

इन दोनों problems को swing remove कर देता है। Swing AWT पर based बना हुआ है। इसलिए swing AWT को replace नहीं करता है। यदि आप AWT के साथ familiar है तो swing को समझने में आपको कोई परेशानी नहीं होगी।     

Features of Java Swing

  • सभी swing कंपोनेंट्स Platform independent होते है।   
  • सभी swing components lightweight होते है।  
  • Swing plug-gable look and feel को support करता है।  
  • Swing MVC(Model-View-Controller) architecture को फॉलो करता है।   


Swing Classes

JWindow - JWindow container क्लास hierarchy को represent करती है। JFrame और JDialog क्लासेज इस class को higher करती है।

JFrame -  JFrame class AWT की frame क्लास के बेस पर बनायीं गयी है। ये एक container क्लास होती है। ये आपकी बेस window होती है जिसमे आप दूसरे components add करके अपनी एप्लीकेशन को design करते है।  इसमें आप different components जैसे की buttons, labels आदि add कर सकते है। Components add करने के लिए आप add() मेथड यूज़ करते है।

JDialog  - इस क्लास का ऑब्जेक्ट क्रिएट करके आप अपनी एप्लीकेशन में Dialog box डाल सकते है।

JComponent  - ये क्लास swing hierarchy में सभी components को represent करती है। सभी swing components इस क्लास को directly inherit करती है।

JLabel - इस क्लास का object क्रिएट करके आप text labels अपनी एप्लीकेशन में add कर सकते है।

JButton  - इस क्लास का object क्रिएट करके आप अपनी window में button ऐड कर सकते है। इसका ऑब्जेक्ट क्रिएट करते समय आप एक string पास  करते है जो की बटन का नाम होती है।

JTextField - इस क्लास का ऑब्जेक्ट create करके आप अपनी अपनी एप्लीकेशन में text box add कर सकते है।

JScrollBar - ये class एप्लीकेशन में scroll bar ऐड करने के लिए यूज़ की जाती है।

JMenuBar - इस क्लास के माध्यम से आप अपनी window में menu bar add कर सकते है।

JCheckBox  - इस क्लास का ऑब्जेक्ट क्रिएट करके आप अपनी window में check box add कर सकते है।

JList  - ये क्लास आपकी window में एक list ऐड करती है।

JTextArea - इस क्लास के माध्यम से आप अपनी एप्लीकेशन में text area ऐड कर सकते है।

JRadioButton  - ये क्लास application में radio button add करने के लिए यूज़ की जाती है।


Example 

public class swingDemo
{
    public static void main(String args[])
    {
        JFrame frame = new JFrame();
        JButton button = new JButton("Click here!");
        
       button.setBounds(100,100,100,60);
       frame.add(button);
       frame.setSize(300,300);
       f.setVisible(true);
    }
} 
Read more ...

JAVA Packages


Java Packages 
  • Introduction to java packages in Hindi 
  • Creating java packages in Hindi 
  • Using/Accessing java packages in Hindi 
  • Some common java packages in Hindi 
  • Sub-packages in Hindi 

Introduction to Java Packages 

यदि आप java library ध्यान से देखेंगे तो पाएंगे की उसमे classes को उनकी category के according अलग अलग packages में organize किया गया है। यदि आप उन classes को यूज़ करना चाहते है तो आपको packages को import करना पड़ता है। ऐसा क्यों किया गया ??. Classes को directly भी तो access किया जा सकता था। 

Packages से आप related types (classes, Interfaces etc.) का group बना सकते है। एक package में आप किसी दूसरे package को भी डाल सकते है।  

आपने कभी सोचा है की किसी eCommerce software में कम से कम कितनी source code की lines होंगी। ये लाखों lines में हो सकती है। क्या एक programmer इतनी lines लिख सकता है या इतना बड़ा software बना सकता है??.  बना तो सकता है लेकिन उसे काफी समय लग जायेगा। इसलिए देखा जाता है की एक software को बहुत से programmer मिलकर बनाते है। 

अब कल्पना कीजिये की जब सभी programmers का code एक साथ execute किया जायेगा तो ये possibility होती है की किन्ही 2 programmers ने class या interface का नाम same रखा दिया हो। अगर ऐसा हुआ तो ऐसी situation में program error show करेगा। इस problem से बचने के लिए java एक mechanism provide करती है जिसे package कहते है। 

हर programmer अपना सारा code एक अलग package में रखता है। ऐसा करने से यदि कोई programmers classes या interfaces का नाम same भी रख देते है तो आपके program में error नहीं आती है। 

Packages को यूज़ करने से पहले आपको ये समझ लेना चाहिए की ये काम कैसे करते है। जिस प्रकार आप एक class में method और variable create करते है और यदि वो किसी दूसरी class के जैसे ही नाम वाले हो तो भी program में कोई error नहीं आती है। उसी प्रकार अलग अलग packages में होने की वजह से same नाम वाली classes कोई error generate नहीं करती है। 

Features of Packages 

  • Packages की मदद से आप java में classes और interfaces को आसानी से maintain कर सकते है। Packages की मदद से आप अलग अलग category की classes को अलग अलग packages में maintain कर सकते है। ऐसा करने से programmer की productivity बढ़ती है।   
  • Java packages आपकी classes और interfaces को access protection provide करते है। यदि package में class create करते समय आपने कोई access modifier यूज़ नहीं किया है तो उस class को दूसरे packages की classes access नहीं कर सकती है। क्योंकि उस class पर package private modifier apply हो जाता है। 
  • Java packages से duplicate names की problem solve हो जाती है। 


Creating Java Packages 

Package create करने के लिए आप package keyword यूज़ करते है। इस keyword के आगे आप package का unique नाम लिखते है। 


package myPackage;

         
ये आपके file की सबसे पहली line होनी चाहिए। इसके बाद आप जितनी भी classes और interfaces create करेंगे वो सब उस package में include होती जाएगी। यदि आपकी classes जिनको आप एक package में add करना चाहते है वो सब अलग अलग files में है तो सबको एक file में इकक्ठा करने की जरुरत होती है। बस आपको सभी files में top पर ये statement लिखना है तो वो सभी classes भी उसी package में include हो जाएगी। 

Using Java Packages 

यदि कोई दूसरा programmer आपके package की किसी class को यूज़ करना चाहता है तो उसे आपका package import करना पड़ेगा। 


import myPackage;


Package को import करने के बाद वह सभी classes को यूज़ कर सकता है। इसी प्रकार वह किसी दूसरे programmer के package को भी import कर सकता है और उसकी classes को भी यूज़ कर सकता है। 

इसके अलावा आप (.) operator लगा कर भी किसी class को directly access कर सकते है। इसे package member access कहते है। ऐसी situation में आप सिर्फ उसी class को access कर पाते है। 


import newPackage.myClass

  

Some Common Java Packages 

Java में एक main package होता है जिसे Java API package कहते है। इस package में आपके अलग अलग काम के लिए दूसरे packages होते है जिन्हे आप program बनाते समय import करके यूज़ करते है। जैसे की IO package और AWT package आदि।

आइये ऐसे ही कुछ common और सबसे ज्यादा काम में आने वाले packages के बारे में जानने का प्रयास करते है। इनके बारे में निचे जा रहा है।

java.language 

इस package में language support classes होती है। ये वो classes होती है जो java compiler खुद यूज़ करता है। इसलिए ये classes बहुत ही important होती है। 

java.util 

ये package language utility classes provide करता है। जैसे की vector, hashtable आदि। 

java.io 

ये pacakge input ouput support classes provide करता है। ये data के input और output के लिए facility provide करता है। 

java.AWT 

इस package में graphical user interface implement करने के लिए classes होती है। 

java.net 

ये package networking के लिए classes provide करता है। इसमें server से connection establish करने के लिए classes होती है। 

java.applet 

ये package applets create करने और implement करने के लिए classes provide करता है। 


Sub Packages 

जब आप किसी package के अंदर एक और package create करते है तो अंदर वाला package sub package कहलाता है। अब तक classes को categories करने की बात बताई गयी लेकिन आप sub packages की मदद से packages को भी categories कर सकते है।                     
Read more ...

JAVA Interfaces

Java Interfaces 

  • Introduction to java interfaces in Hindi
  • Working with java interfaces in Hindi 
  • Example of java interfaces in Hindi

Introduction to Java Interfaces 

Java interfaces का concept एक उदाहरण से समझने का प्रयास करते है। मान लीजिये आपका एक दोस्त है। और आपके दोस्त की एक कंपनी है। आप भी एक कंपनी खोलना चाहते है। आप अपने मित्र से पूछते है की मुझे कंपनी खोलने के लिए क्या करना होगा। आपका दोस्त आपको बताता है की sales department, production department, accounts और management department आपको setup करना होगा। ध्यान दीजिये आपके दोस्त ने सिर्फ आपको बताया है की आपको क्या करना है। आप ये कैसे करेंगे ये आप पर depend करता है। इसी तरह interfaces classes को बताते है की उन्हें क्या करना है। Class वो काम कैसे करती है ये उस class पर depend करता है।     

Java interface उसी तरह है जैसे की आप exam time में सिर्फ topics की headings को याद करते है और एग्जाम में उन headings की detail अपने मन से लिख कर आते है। Interface किसी boss की तरह होता है और class किसी employee की तरह interface क्लास को काम बताता है और class उस काम को करती है। Interface कोई भी काम खुद नहीं करता है। Interface में define किये गए methods को आपको किसी task की तरह देखना चाहिए जो interface क्लास से करवाना चाहता है।    

Interfaces में define किये गए सभी methods by default abstract होते है। मतलब इनकी कोई body नहीं होती है। Interface को हमेशा public declare किया जाता है। जब कोई class interface को implement करती है तो उसे interface में declare किये गए सभी methods की definition provide करनी होती है। आप किसी method को छोड़ नहीं सकते है। एक interface को कोई class extend नहीं करती है। Interfaces हमेशा implement किये जाते है। इसके लिए आप implements keyword यूज़ करते है।    

Java में multiple inheritance allow नहीं है। लेकिन java में interfaces के द्वारा multiple inheritance implement किया जा सकता है। Interfaces super class की तरह methods provide करते है, बस उनकी definitions हमे implement करने वाली class में देनी होती है। Interfaces classes की तरह ही होते है, लेकिन आप इनका object नहीं create कर सकते है। और किसी method की body भी आप नहीं declare कर सकते है। 

Methods के साथ ही आप interfaces में variables भी declare कर सकते है।  Interfaces में declare किये जाने वाले variables static और final होने चाहिए। एक interface एक से ज्यादा interfaces को extend कर सकता है। एक बार interface declare करने के बाद कितनी भी classes उस interface को implement कर सकती है। और एक class जितने चाहे उतने interface implement कर सकती है। इसके लिए आपको सभी interfaces के नामों को (,) से separate करना होगा।

Interfaces classes के साथ Is-a relationship establish करते है। उदाहरण के लिए आपके pass एक interface है fruits नाम से जिसमे color और taste आदि methods है और एक mango नाम की class है। अब यदि mango class fruit interface को implement करती है तो इनमे Is-a relation होगा। यानि आप कह सकते है की Mango is a fruit.            



Working with Interfaces 

Interfaces को declare करना बिलकुल आसान होता है। इसके लिए आप interface keyword यूज़ करते है। पहले तो आप public access modifier define करते है, इसके बाद आप interface keyword लिख कर interface का नाम लिखते है। इसके बाद curly brackets में आप उन सभी methods को declare करते है जो आप किसी class से implement करवाना चाहते है। वैसे तो interfaces के अंदर सभी methods by default public होते है। लेकिन आप चाहे तो public access modifier सभी methods के आगे add कर सकते है। इसका उदाहरण नीचे दिया जा रहा है। 

Structure
Example
public interface interface_Name
{
   // methods without body;
}
public interface yrFriend 
{
     public void sales();
     public void production();
     public void accounts();
     public void management();
}
        
जैसे की मैने आपको पहले बताया implements keyword को यूज़ करते हुए कोई भी class आसानी से interface को implement कर सकती है। Interfaces का complete उदाहरण निचे दिया जा रहा है।


Example 

public interface yourFriend 
                         
     public void sales();
     public void production();
     public void accounts();
     public void management();
}


public class You implements yourFriend

     public void sales()
     {
         // implement sales department
     }

     public void production()
    {
        // implement production department
    }

    public void accounts()
   {
        // implement production department
   }

   public void management()
  {
      // implement production department
   }

}
         
Read more ...

JAVA Exception Handling


Java Exception Handling Introduction to java exception handling in Hindi 
  • Keywords for java exception handling in Hindi 
  • Steps for java exception handling in Hindi 
  • Some common java exceptions in Hindi 

Introduction to Java Exception Handling 

Exceptions run time errors होती है। Exception एक ऐसी situation होती है जो आपके रन होते हुए program को रोक देती है। जैसे की जितनी memory आपके program को execute होने के लिए चाहिए, उतनी memory आपके computer में यदि नहीं है तो आपके program का execution रुक जायेगा। ये out of memory exception है। ऐसी ही situations को आप exceptions कहते है। 

जिस प्रकार यदि आप program बनाते समय किसी statement के आगे semicolon लगाना भूल जाये, तो आपको program error शो करता है और compile नहीं होता है। उसी प्रकार exception generate होने पर आपका program रुक जाता है execute नहीं होता है। 

यदि आप चाहते है की आपका program exception आने पर रुके नहीं execute होता रहे तो इसके लिए आपको exceptions को handle करना होगा। इसे ही exception handling कहते है। जब आप exceptions को handle करते है तो आपका program exception आने पर रुकता नहीं है बल्कि exception वाले code को skip करके बाकि के code को execute करता है। 


Keywords For Exception Handling

Java में आप कुछ keywords की मदद से exceptions को handle करते है। ये सभी keywords मिलकर एक structure बनाते है जो implement करने में बहुत ही आसान होता है। इन keywords के बारे में निचे दिया जा रहा है। 

Keywords
Explanation
Try
आपके program का वह code जो exception generate कर सकता है, उसे आप try block में लिखते है। उदाहरण के लिए आप program में कोई mathematical operation कर रहे है और आपको लगता है की exception generate हो सकती है तो आप उस code को try block में लिखते है।      
catch 
यदि try block में कोई exception generate होती है, तो वह इसी block में handle की जाती है। आप इस block में वह code लिखते जो exception आने पर आप execute करना चाहते है। उदाहरण के लिए आप एक message print करवा सकते है जो यूजर को बताये की exception generate हुई है।      
throw 
ज्यादातर संभावित exceptions आपके लिए पहले से ही java library में define है और ये exception java automatically throw कर देती है। लेकिन यदि आप चाहते है तो खुद की exceptions भी create कर सकते है। ऐसी एक्सकेप्शन्स को आपको खुद ही throw करना होता है इसके लिए आप throw keyword यूज़ करते है। आप चाहे तो predefined exception भी throw कर सकते है।       
Throws
आप nested try blocks यूज़ कर सकते है। यदि आप चाहते है की किसी exception को outer try block handle करे तो ऐसी situation में आप throws keyword यूज़ करते है। आप method में definition के आगे throws keyword लगा कर सभी exceptions के नाम लिख देते है। ऐसा करने से यदि कोई exception आती है तो outer try block उसे handle करता है।  
Finally
Exception handle करने के बाद आप जो code execute करवाना चाहते है उसे finally block में लिखते है। Try block में exception आने के बाद compiler उस code को execute नहीं करता है और catch block के बाद सीधा finally block को execute करता है।   
  


Steps to Handle Exceptions 

  1. सबसे पहले आप उस code को try block में लिख दीजिये जिससे exception generate हो सकती है। 
  2. Try block के बाद catch block में exception को handle करने के लिए code लिखिए। जैसे की आप exception से related कोई message print करवा सकते है। 
  3. Exception handle करने के बाद आप जो code execute करवाना चाहते है उसे finally block में लिख दीजिये। 


Some Common Exceptions

Exceptions को handle करने से पहले exceptions के बारे में जानना आपके लिए बहुत जरुरी है। कुछ exceptions ऐसी होती है जो java में regularly आती है। इन common exceptions पर आप आसानी से practice कर सकते है और अपनी skill को improve कर सकते है। Java में regularly आने वाली कुछ common exceptions के बारे में निचे दिया जा रहा है। 

Arithmetic Exceptions

कोई भी arithmetic error जैसे की यदि आप किसी number को zero से divide करने की कोशिश करे या फिर किसी variable में उसकी size से ज्यादा value store करने के कोशिश करे तो Arithmetic-Exception generate होती है।

Class Cast Exception 

यदि आप किसी class का reference दूसरी class में store करवाना चाहते है और यदि पहली class दूसरी class की sub class नहीं होती है तो Class-Cast-Exception generate होती है। 

Array Store Exception 

यदि आपने string array बनाया है और उसमे आप string store करने की कोशिश करते है तो Array-Store-Exception generate होती है। 

Array Index Out Of Bounds Exception

यदि आपके array की size 10 है और आप 11th position पर value store करने की कोशिश करे या 11th position को access करने की कोशिश करे तो Array-Index-Out-Of-Bounds-Exception generate होती है।

Illegal Argument Exception 

जब आप किसी method में invalid argument pass करते है जैसे की int की जगह string पास कर दे तो Illegal-Argument-Exception generate होती है। 

Null Pointer Exception 

Java में आप किसी reference variable को null value assign कर सकते है लेकिन यदि आप इस reference variable को यूज़ करने का प्रयास करते है तो NullPointerException generate होती है। 

Number Format Exception 

जब आप किसी string value को number में cast करने की कोशिश करते है तो Number-Format-Exception आती है। 


Example 


Import java.lang.*;

class
{
  public static void main(String args[])
  {
      int num = 120;
      int a = 0;
     
       try
       {
            num = num / a;
           
           System.out.println(num);
     }

    catch(ArithmeticException e)
    {
           System.out.println(“You can not divide a number by zero”);
    }
 }
}

Read more ...

JAVA Inheritence


Java Inheritance 
  • Introduction to java inheritance in Hindi 
  • Types of java inheritance in Hindi 
  • Inheriting a class in Hindi 
  • Example of java inheritance in Hindi 

Introduction to Java Inheritance 

जैसे पिता की संपत्ति पर पुत्र का अधिकार होता है और पुत्र उस संपति का उपयोग करता है। वैसे ही यदि आप चाहे तो एक class को पिता (super class) बना सकते है, और दूसरी class को पुत्र (sub class) बना सकते है। ऐसा करने से एक class दूसरी class की properties (methods, variables आदि ) को access कर सकती है। ऐसा करने से पुत्र (sub class) को पिता (super class) की सम्पूर्ण property (methods, variables आदि) को access करने के अधिकार प्राप्त हो जाते है। 

कल्पना कीजिये आपने कोई class पहले से create की हुई है और इस class में कुछ ऐसे methods है जो आपकी किसी दूसरी class में भी काम आ सकते है। इन methods को दुबारा लिखने की बजाय आप पिछली पुरानी class में से उन methods को access कर सकते है। ऐसा करने के लिए जो class methods को access करना चाहती है उसे दूसरी class की sub class बनना होगा। Sub class बनने के लिए आपकी class को उस दूसरी class को extend करना होगा। इसे ही inheritance कहते है। 

Inheritance से आप एक ही code को बार बार लिखने की उलझन से बच जाते है। Inheritance की इस खूबी को re-usability कहते है। यानि एक ही code को बार बार अलग अलग जगह पर reuse किया जा सकता है। 

जब कोई एक class दूसरी class को inherit करना चाहती है तो वह extends keyword यूज़ करती है। और यदि आप चाहते है की आपके के द्वारा बनायीं हुई class को कोई दूसरी class inherit ना करे तो इसके लिए आप class के नाम से पहले final keyword लगा देते है। जिन classes के नाम से पहले final keyword होता है उन्हें inherit नहीं किया जा सकता है। 

कोई भी class सिर्फ एक ही class को extend कर सकती है। जब कोई class एक से अधिक classes को extend करती है तो वह multiple inheritance कहलाता है। और में आपको बताना चाहता हुँ की जावा में multiple inheritance allow नहीं है। इसकी जगह पर आप multilevel inheritance implement कर सकते है। 

जिस class को inherit किया जाता है वह super class कहलाती है। और जो class inherit करती है वह sub class कहलाती है। यँहा पर एक ध्यान देने योग्य बात ये है की sub class super class के सभी methods और variables को access नहीं कर सकती है। जो methods public और protected declare किये हुए है उन्हें ही sub class access कर सकती है। Super class के किसी भी private member को sub class access नहीं कर सकती है। यदि super class ने किसी और class को extend कर रखा है तो उस class के भी सभी public और protected members को आपकी class यूज़ कर सकती है।


Types of Java Inheritance

Java में 3 तरह से inheritance को यूज़ किया जाता है। आपकी application के लिए आपको जो suitable लगे आप वही तरीका यूज़ कर सकते है। इन तीनों तरीकों के बारे में निचे दिया जा रहा है। 

Single Inheritance 

Single inheritance में एक class किसी दूसरी क्लास को extend करती है। इस तरह के के inheritance का उपयोग basic programming में किया जाता है। 

      
          

Multilevel inheritance 

Multilevel inheritance में एक class दूसरी class को extend करती है और दूसरी class तीसरी class को extend करती है। 



Hierarchical inheritance 

Hierarchical inheritance में एक class को बहुत सी classes extend करती है। इस तरह  inheritance का प्रयोग जब किया जाता जब super class के task के कई sub task होते है। 

  


Inheriting a Class 

यदि आप किसी class को inherit करना चाहते है तो आप extends कीवर्ड उसे करते है। आप अपनी class के नाम के बाद extends keyword लगाते है और उसके बाद आप जिस class को inherit करना चाहते है उस class का नाम लिखते है। Inheritance का उदाहरण निचे दिया जा रहा है। 

class A
{
    public void display()
   {
      System.out.println("This is A class");
   }

   public static void main(String args[])
   {
        display();    
   }
}

class B extends A
{
    public static void main(String args[])
    {
        display();
    }

}

Read more ...

JAVA Method

Java Methods 

  • Introduction to java methods in Hindi 
  • Structure of java methods definition in Hindi
  • Structure of java methods call in Hindi  
  • Java method overloading in Hindi 
  • Java method overriding in Hindi 

Introduction to Java Methods 

कई बार ऐसा होता है की कोई एक काम या कोई एक task आपको program में कई जगह perform करना होता है। यदि आप इस काम को बिना methods के करेंगे तो आपको एक ही code बार बार कई जगह पर लिखना पड़ेगा। इसके बजाय यदि आप एक ऐसा method बना ले जो इस operation को perform करता है। ऐसा करने से आपको एक ही code बार लिखने की जरुरत नहीं है। आप प्रोग्राम में जँहा भी वह task perform करना चाहते है, उस जगह उस method को call कर सकते है। 

Method basically एक block of statements होता है। ये block एक particular operation perform करता है। इस operation को आप program में जँहा भी perform करना चाहते है वँहा method का नाम लिखकर उसे call करते है। और compiler उस जगह method को execute कर देता है। 

Java में methods का बेहतरीन उदाहरण println() method है। क्या आप बता सकते है की किसी जावा program में आपको इस method की कितनी बार आवश्यकता पड़ती है?? जी हाँ बहुत बार पड़ती है। ये method असल में java library में define किया गया है। इस method का काम ये होता है की आप इसके कोई भी string पास करके उसको screen पर print करवा सकते है। साथ ही आप इस method में variables को pass करके उनकी values भी print करवा सकते है। जब भी आपको इस method की जरुरत होती है तो आप इसको call करते है और इसमें string या variables पास करते है। और ये method उसी जगह पर execute होता है।

यदि आप java library में इस method की definition देखेंगे तो पाएंगे की आप उस code बार बार अपने program में नहीं लिख सकते है। और यदि आप उस code को यूज़ करते है तो आपका पहला hello world program 10 line से ज्यादा का हो जायेगा। 

Methods program में code को reduce करने और computer की memory बचाने का अच्छा माध्यम है। साथ ही methods के प्रयोग से programmers को भी same code बार बार नहीं लिखना पड़ता है। इससे programmers का time बचता है।

Structure of Method Definition 

access_specifier return_type method_name (parameters list)
{
  //  statements to be executed
}


 Syntax  Explanation 
access specifier
Access specifier show करता है की ये method किस तरह का है। जैसे की private, public या protected आदि।     
return type
Method का execution होने के बाद method result के रूप में किस तरह की value return करेगा ये आप यँहा define करते है। यदि आपका method कोई value return नहीं करता है तो आप यँहा पर void लिखते है।    
method name
ये method का नाम होता है। ये पुरे program में unique होना चाहिए।    
parameters list
ये वो variables या values होती है जो आप method को call करते समय pass करते है। Method पर operation perform करता है और result return करता है। या फिर अपने execution के लिए इनका उपयोग करता है। जैसे यदि आप कोई addition का method बनाये तो उसमे 2 numbers pass कर सकते है जिनको को add करके method आपको result return करेगा। आप values और variables को comma से separate करते है।       
     

Structure of Method Call 

If in the same class
If in another class
methodName(arg1,arg2….);
objectName.methodName(arg1,arg2);



Example of Java Methods 

class PersonsInfo
{

   public void Separator()// our method which separates information of persons
   {
        System.out.println("-----------------------------------------------------------------------------");
   }

    public static void main(String args[])
    {
        System.out.println("Name :  Juli   Age : 23");
        Separator();
        System.out.println("Name :  Sam    Age:24");
        Separator();    
        System.out.println("Name :  Teri   Age : 23");
        Separator();
        System.out.println("Name :  Brian       Age:24");
     }
} 




Method Overloading 

जब आप बड़े software's develop करते है तो ऐसा अक्सर होता है की आपके program में एक सा काम करने वाले कई methods होते है। इन सभी methods का नाम याद रखना और उन्हें यूज़ करना बड़ा मुश्किल हो जाता है। जैसे की आप अलग अलग तरह के data को add करना चाहते है तो उसके लिए आप अलग अलग methods बनाएंगे। फिर उन methods को यूज़ करने के लिए आपको उनका नाम भी memorize करना होगा। किसी छोटे से program में ऐसा आप आसानी से कर सकते है। लेकिन जब आप कोई बड़ा software develop कर रहे हो तो सभी methods के नाम आप याद नहीं कर सकते है। इस situation में आप method overloading यूज़ कर सकते है।

Method overloading में जो methods एक जैसा task perform कर रहे है उन सबको आप एक ही नाम देते है। जैसे की अलग अलग addition के methods addition ही कर रहे है। लेकिन कोई integer को add कर रहा है तो तो कोई double को add कर रहा है। इन सबका एक ही नाम दिया जाता है। अब आप पूछ सकते है की यदि एक जैसा नाम रखेंगे तो compiler को पता कैसे चलेगा की आप कोनसा method call करना चाहते है।

इन सभी methods का नाम same होता है। लेकिन इन methods में parameter types और उनकी संख्या अलग अलग होती है। जिससे compiler इन्हे run time पर ये पता चल जाता है की कोनसा method execute करना है। जिस method से arguments match हो जाते है वही method execute हो जाता है।

Example 

public class overDemo
{
     public static int sum(int  a, int b)
    {
        return a+b;
    }

    public static int sum(double x, double y)
    {
       return x+y;
    }

   
    public static void main(String args [])
    {
          System.out.println(sum(3,5));
          System.out.println(sum(3.5,5.3));
    }
}
         
ऊपर दिए गए example में 2 sum methods है। एक sum() method integers को add करता है और दूसरा double values को add करता है। Method call के दौरान यदि sum() method में integers pass करते है तो integers वाला sum() method execute होगा। और यदि double values pass करते है तो double वाला sum() method execute होगा।         

Method Overriding 

जब आप किसी class को inherit करते है तो आप उसके सारे methods को access कर सकते है। लेकिन क्या हो यदि किसी method की definition आपकी sub class के according नहीं है। या फिर आप उस method में कुछ change करना चाहते है। यदि ऐसा है तो आप super class के किसी भी method को sub class में दुबारा define कर सकते है। आप उस method को edit कर सकते है ताकि वो sub class के लिए work कर सके। इसे method overriding कहते है।   

Method overriding में sub class super class वाला method यूज़ नहीं करना चाहती है और वो खुद उस method को edit करके यूज़ करना चाहती है। ऐसा करके वो super class के method को override करती है।

उदाहरण के लिए यदि एक class है Area और उसमे display() method है। इस class को Circle class inherit कर रही है। Circle class Area class के display method को यूज़ करने की बजाय उस method को Circle class की आवश्यकता के अनुसार edit कर सकती है। इसी प्रकार यदि इसी Area class को एक rectangle class inherit करती है तो वो भी display() method को खुद की आवश्यकता के अनुसार बदल कर वापस define कर सकती है।

जब आप किसी method को override करते है तो आपको 2 बाते याद रखनी चाहिए।

  • Super class के method का और sub class के method का नाम same होगा। 
  • Sub class की parameter list super class की parameter list से match होनी चाहिए। 

Example 

class Area
{
      public  void display()
      {
           System.out.println(“Displaying area……..”);
      }
}

class circle extends Area
{
     public void display()
     {
           System.out.println(“Displaying circle…….”);
     }

     public static void main(String args[])
     {
            Area obj = new Area();
            obj.display();
           
           this.display();
     }
}

Read more ...