चूंकि मैं इन अन्य उत्तरों का प्रशंसक नहीं हूं, मैं अपना खुद का लिखूंगा।
असली दुनिया उदाहरण:
एक जावा वर्ग एक और संदर्भ के लिए के लिए एक आसान तरीका के रूप में एक "पैकेज" का Think।
मान लें कि मेरे पास मेरे अटारी में यह बड़ा बॉक्स है। मेरे पास एक कैलकुलेटर, कंपास, प्रोटैक्टर आदि है। मैं इस बॉक्स को MathTools
लेबल कर सकता हूं।
एक और उदाहरण आपके सभी चित्रों को ले जाएगा और उन्हें आपके दस्तावेज़ों में Pictures
फ़ोल्डर में डाल देगा। वहां से, आप उन्हें Spring Break 2009
या [Insert Name Here]'s Party
में विभाजित कर सकते हैं।
यह जावा से कैसे संबंधित है? खैर, चलिए java.util
पैकेज देखें (आप इसे import java.util.*;
के साथ संदर्भित कर सकते हैं। आपके पास ऐरेलिस्ट, स्ट्रिंग्स, रैंडम इत्यादि हैं जिनका उपयोग अधिकांश जावा प्रोग्राम (सामान्य "उपयोगिताओं" में किया जाता है, यदि आप पसंद करते हैं)। सभी अच्छी तरह व्यवस्थित हैं एक ही पैकेज, इसलिए प्रोग्रामर आसानी से उन्हें संदर्भ कि कर सकते हैं (import java.util.*;
)
आसान आवेदन:।
की है कि हम C:/Program Files/Java Project/my/proj/
में एक छोटे से पासा सिम्युलेटर करने के लिए सभी फ़ाइलों को मिल सकता है मान लेते हैं (यह संभव है कि यह फ़ाइल आपके कंप्यूटर पर मौजूद नहीं है, लेकिन बस एक पल का नाटक करें)
आपके पास 3 फाइलें हैं: Main.java
, Dice.java
, और DiceRoller.java
। जिनमें से सभी नीचे दिखाए गए हैं:
।
"C:/ProgramFiles/जावा परियोजना/मेरी/proj/मुख्य/Main.java
":
package my.proj.main;
import my.proj.sims.Dice;
public class Main
{
public static void main(String[] args)
{
DiceRoller roller = new DiceRoller();
roller.rollAndShow(4);
}
}
"C:/ProgramFiles/जावा परियोजना/मेरी/proj/सिम्स/Dice.java
":
package my.proj.sims;
import java.util.Random; // I used the Random class, but you can also use the Math class if you prefer (java.lang.Math)
public class Dice
{
public Dice()
{
}
public int roll()
{
Random rand = new Random();
return rand.nextInt(6) + 1; // Rolls a random number 1-6
}
}
"C:/ProgramFiles/जावा परियोजना/मेरी/proj/सिम्स/DiceRoller.java
":
package my.proj.sims;
public class DiceRoller
{
public DiceRoller()
{
}
// Rolls and prints the result of 'n' number of rolls
public void rollAndShow(int n)
{
Dice dice = new Dice();
for (int i = 0; i < n; i++)
{
System.out.println(dice.roll()); // You should never use S.o.p in a method - it's bad practice, but it's easier this way if you don't yet understand the concept of objects
}
}
}
।
हालात को नोटिस:
Main.java
my.proj.main
Dice.java
में पैक किया जाता है, ताकि एक Dice
वस्तु बनाने और उसके तरीकों का उपयोग, क्योंकि यह एक में है करने के लिए my.proj.sims.Dice
आयात करने के लिए my.proj.sims
Main.java
जरूरतों में पैक किया जाता है Dice.java
से अलग पैकेज।
DiceRoller.java
को my.proj.sims.Dice
आयात करने की आवश्यकता नहीं है क्योंकि यह Dice.java
के समान पैकेज में है और संकलक स्वचालित रूप से दोनों को जोड़ देगा।
।
Import
एक कक्षा की कार्यक्षमता को वर्तमान फ़ाइल में लोड करने का आदेश है। उदाहरण के लिए Dice.java
देखें। Random
ऑब्जेक्ट बनाने के लिए, जिसमें nextInt()
विधि है, इसे java.util.*
पैकेज से रैंडम क्लास आयात करने की आवश्यकता है।
।
आप देख सकते हैं कि कुछ लोगों को java.util.*
बजाय java.util.Random
, java.util.ArrayList
, आदि क्या *
अनिवार्य रूप से मतलब java.util
के भीतर किसी भी वर्ग है उपयोग करने के लिए पसंद करेंगे। चल रहा है import java.util.*
रैंडम, स्ट्रिंग, ऐरेलिस्ट, आदि कक्षाओं को आयात करेगा।
।
आशा है कि यह चीजों को साफ़ करे। अगर इससे आपकी मदद मिली है तो कृपया ऊपर उठने पर विचार करें :)
इस प्रश्न का उत्तर मदद कर सकता है: http://stackoverflow.com/questions/1088509/what-is-the-purpose-of-defining-a-package-in-java-file – BoltClock