यूज़र डिफाइन्ड पैकेज बनाना (Strings)

यूज़र डिफाइन्ड पैकेज बनाने के लिए निम्नांकित चरणों का पालन कीजिएः

  • सबसे पहले जिस प्रोग्राम में पैकेज की क्लास को प्रयोग करना है, उस प्रोग्राम की डायरेक्ट्री में एक सब-डायरेक्ट्री बनाइए।
  • अब इस डायरेक्ट्री में जावा का प्रोग्राम बनाइए तथा इसकी क्लास को पब्लिक डिफाइन कीजिए। ध्यान रहे कि फाईल के प्रारंभ में पैकेज को निम्नानुसार अवष्य डिक्लेयर करें।
    package packagename;
    यह पैकेज का नाम वही होना चाहिए जो फोल्डर का नाम है।
  • अब इस जावा फाईल को कम्पाइल कीजिए।
  • अब अपने प्रोग्राम में, जो कि पेरेन्ट डाइरेक्ट्री में है वहाँ इस पैकेज को import कर लीजिए।

उपर्युक्त चरणों को निम्न उदाहरण द्वारा समझा जा सकता है -

c:\jdk1.7\bin> md pack
c:\jdk1.7\bin> cd pack
c:\jdk1.7\bin\pack> Notepad Demo.java
package pack;
public class Demo
{
  public void show()
  {
    System.out.println("Package demo");
  }
}
c:\jdk1.7\bin\pack> javac Demo.java
c:\jdk1.7\bin\pack> cd ..
c:\jdk1.7\bin> Notepad My.java
import pack.Demo;
class My
{
  public static void main(String arr[])
  {
    Demo d = new Demo();
    d.show();
  }
}
c:\jdk1.7\bin> javac My.java
c:\jdk1.7\bin> java My

Output:

Package demo

एक ही पैकेज में दो भिन्न क्लास

एक ही पैकेज में एक से अधिक क्लासेज हो सकती है। इसे निम्नांकित उदाहरण में समझाया जा रहा हैः

c:\jdk1.7\bin> md pack
c:\jdk1.7\bin> cd pack
c:\jdk1.7\bin\pack> Notepad Demo.java
package pack;
public class Demo
{
  public void show()
  {
    System.out.println("Package demo");
  }
}
c:\jdk1.7\bin\pack> javac Demo.java
c:\jdk1.7\bin\pack> Notepad Demo2.java
package pack;
public class Demo2
{
  public void show()
  {
    System.out.println("Package demo 2");
  }
}
c:\jdk1.7\bin\pack> javac Demo2.java
c:\jdk1.7\bin\pack> cd ..
c:\jdk1.7\bin> Notepad My.java
import pack.*;
class My
{
  public static void main(String arr[])
  {
    Demo d = new Demo();
    Demo2 d2 = new Demo2();
    d.show();
    d2.show();
  }
}
c:\jdk1.7\bin> javac My.java
c:\jdk1.7\bin> java My

Output:

Package demo
Package demo 2

एक प्रोग्राम में एक से ज़्यादा पैकेज इम्पोर्ट करना

एक ही प्रोग्राम में एक से अधिक पैकेज को इम्पोर्ट पहले भी किया जा चुका है, किंतु पहले ऐसे पैकेज प्रीडिफाइंड पैकेज थे। एक से अधिक यूज़र-डिफाइंड-पैकेज को इम्पोर्ट करने का तरीका भी बिल्कुल वैसा ही है। इसे निम्नांकित उदाहरण में समझाया जा रहा हैः

c:\jdk1.7\bin> md pack1
c:\jdk1.7\bin> cd pack1
c:\jdk1.7\bin\pack> Notepad Demo.java
package pack1;
public class Demo
{
  public void show()
  {
    System.out.println("Package 1");
  }
}
c:\jdk1.7\bin\pack1> javac Demo.java
c:\jdk1.7\bin\pack1> cd..
c:\jdk1.7\bin > md pack2
c:\jdk1.7\bin > cd pack2
c:\jdk1.7\bin\pack2> Notepad Demo.java
package pack2;
public class Demo
{
  public void show()
  {
    System.out.println("Package 2");
  }
}
c:\jdk1.7\bin\pack2> javac Demo.java
c:\jdk1.7\bin\pack2> cd..
c:\jdk1.7\bin> Notepad My.java
import pack1.Demo;
import pack2.Demo;
class My
{
  public static void main(String arr[])
  {
    pack1.Demo d = new pack1.Demo();
    pack2.Demo d2 = new pack2.Demo();
    d.show();
    d2.show();
  }
}

Output:

Package 1
Package 2

क्लासपाथ (CLASSPATH)

CLASSSPATH एक environment वेरिएबल होता है। इसकी सहायता से हम कम्प्यूटर में कहीं भी स्थित पैकेज को अपने प्रोग्राम में इम्पोर्ट कर सकते हैं। हम CLASSSPATH को निम्नानुसार set कर किसी पैकेज की क्लासों का प्रयोग अपने प्रोग्राम में कर सकते हैं। इसे डिफाइन करने के विभिन्न तरीकों में से एक इस प्रकार है-

कमांड प्राॅम्प्ट पर जाएं तथा निम्न प्रारूप के अनुसार कमांड प्रयोग करें-

set CLASSPATH = .;classpath1;classpath2;...

उदाहरण-

set CLASSPATH = .;c:\mypack\;

उपरोक्त उदाहरण में क्लासपाथ के रूप में करंट डायरेक्ट्री तथा c:\mypack डायरेक्ट्री सेट हो गई है, अर्थात इस पाथ पर यदि कोई पैकेज स्थित है तो उसे हम अपने प्रोग्राम में इम्पोर्ट कर प्रयोग कर सकते हैं।

सुझाव / कमेंट