static Keyword in Java

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

static Keyword in Java: कई बार किसी Class में हमें ऐसे Data Members Define करने की जरूरत होती है, जिनका उस Class के Object के Conjunction के साथ प्रयोग नहीं होता बल्कि इन Data Members को स्वतंत्र रूप से Access किया जा सकता है। उदाहरण के लिए मानलो कि हमें ये जानना हो कि किसी Program में Class के किसी समय पर कुल कितने Objects Create हुए हैं, तो ये काम पूरा करने के लिए हमें Class में एक static Data Member को Define करने की जरूरत पडती है।

सामान्‍यतया किसी Class के जितने भी Data Members होते हैं, उन्हें उसी Class के किसी Object के Conjunction के साथ ही Access किया जाता है। लेकिन Class में ऐसे Data Member भी Create किए जा सकते हैं, जिनको बिना किसी Object के Reference के भी Directly Access व Use किया जा सकता है। इस प्रकार के Members Create करने के लिए हमें Data Member के साथ static Keyword का प्रयोग करना पडता है।

किसी Class के एक static प्रकार के Data Member को बिना उस Class के किसी Object को Create किए हुए भी Directly Access कर सकते है। इसी लिए main() Method को static रखा जाता है, क्योंकि एक static Method को जिस Class में Declare किया जाता है, उस Class के किसी Object को Create करने से पहले भी उस Class के इस static Method को Call किया जा सकता है।

किसी Class के जिन Instance Variables को static Declare किया जाता है, वे सामान्‍यतया Global Variables होते हैं, इसलिए जब उस Class के Object Create किए जाते हैं, तब हर Object के लिए सभी Non-Static Data Members की Copy तो Create होती है, लेकिन static Data Members की Copy Create नहीं होती है।

यानी उस पूरी Class के सभी Objects के लिए static Data Member Common रूप से Use होता है और उस Class के सभी Objects static Data Member को समान रूप से Share करते हैं। static Methods कुछ निश्चित नियमों का पालन करते हैं।

  • किसी Class के Static Methods को कोई static प्रकार का Method ही Call कर सकता है।
  • static Methods किसी static Data Members को ही Access कर सकते हैं।
  • ये Methods thissuper का प्रयोग किसी प्रकार से नहीं कर सकते हैं। super Keyword के बारे हम Inheritance Chapter के अन्तर्गत अच्छी तरह से समझेंगे।

यदि किसी static Variable को Initialize करना हो, तो हमें एक static Block Declare करना पडता है। जब Class Memory में पहली बार Load होती है, तब ये Block एक और सिर्फ एक ही बार Execute होता है। इसे समझने के लिए हम एक उदाहरण देखते हैं।

// Program
	//static variable, methods and blocks Demonstration.
	class StaticDemonstration
	{
		static int x = 3;
		static int y;
	
		static void calculation(int i)
		{
			System.out.println(“i = “ + i);
			System.out.println(“x = “ + x);
			System.out.println(“y = “ + y);
		}
	
		static 
		{
			System.out.println(“Static block being Initialized.“);
			y = x * 3;
		}
	
		public static void main(String args[])
		{
			calculation(10);
		}
	}

// Output
   Static block being Initialized.
   i = 10
   x = 3
   y = 9

इस Program को जैसे ही Compile करके Run किया जाता है, तो StaticDemonstration Memory में Load हो जाता है, इसके सभी static Statements Execute हो जाते हैं। सबसे पहले x का मान 3 Initialize होता है। फिर static Block Execute होता है और अन्त में y का मान Initialize होता है। फिर main() Method Call होता है और calculation() Method में प्रदान किया जाने वाला मान 10 Variable i को प्राप्त हो जाता है। इस Method में तीन println() Statements हैं जो दो static Variables x व y तथा एक Local Variable i के मान को Screen पर Print करने का काम करते हैं।

Class में Define किए गए static Variables व Methods को उस Class से Outside में भी स्वतंत्र रूप से Use किया जा सकता है। किसी static Variable या Method को Class से बाहर स्वतंत्र रूप से Use करने के लिए हमें इस प्रकार के Variables व Methods को Dot Operator के साथ Use करना होता है। जैसे यदि हम किसी static Method को Program के किसी हिस्से में उसकी Class से Outside में Call करना चाहते हैं, तो ये काम हम निम्नानुसार Form में कर सकते हैं:

      Classname.method();

यहां Classname वह Class है जिसमें static Method को Declare किया गया है। हम देख सकते हैं कि ये Format उसी तरह का है जिस तरह के Format का प्रयोग करके हम किसी Object के लिए किसी Non-Static Method को Call करते हैं। किसी static Variable को भी इसी तरह से Use किया जा सकता है लेकिन Object के नाम के स्थान पर Class का नाम Use करना होता है। निम्न उदाहरण में इस पूरे Process को Use किया गया है।

// Program
	//static variable, methods and blocks Demonstration.
	class StaticClass
	{
		static int x = 3;
		static int y = 21;
	
		static void calculation()
		{
			System.out.println("x = " + x);
		}
	}
	
	class StaticDemo
	{
		public static void main(String args[])
		{
			StaticClass.calculation();
			System.out.println("y = " + StaticClass.y);
		}
	}

// Output 
   x = 3
   y = 21
Access Specifiers in Java
final Keyword in Java

******

ये पोस्‍ट Useful लगा हो, तो Like कर दीजिए।

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।