logo

حزمة جافا

  1. حزمة جافا
  2. مثال على الحزمة
  3. الوصول إلى الحزمة
    1. عن طريق استيراد اسم الحزمة.*
    2. عن طريق استيراد packagename.classname
    3. بالاسم المؤهل بالكامل
  4. حزمة فرعية
  5. إرسال ملف فئة إلى دليل آخر
  6. - تبديل مسار الفئة
  7. 4 طرق لتحميل ملف الفصل أو ملف الجرة
  8. كيفية وضع فئتين عامتين في حزمة
  9. استيراد ثابت
  10. فئة الحزمة

أ حزمة جافا هي مجموعة من الأنواع المتشابهة من الفئات والواجهات والحزم الفرعية.

يمكن تصنيف الحزمة في جافا في شكلين، حزمة مدمجة وحزمة محددة من قبل المستخدم.

هناك العديد من الحزم المضمنة مثل java وlang وawt وjavax وswing وnet وio وutil وsql وما إلى ذلك.

هنا، سيكون لدينا التعلم التفصيلي لإنشاء واستخدام الحزم المعرفة من قبل المستخدم.

جدول أسكي جافا

الاستفادة من حزمة جافا

1) يتم استخدام حزمة Java لتصنيف الفئات والواجهات بحيث يمكن صيانتها بسهولة.

2) توفر حزمة Java حماية الوصول.

3) تعمل حزمة Java على إزالة تضارب الأسماء.


مثال بسيط لحزمة جافا

ال الكلمة الأساسية للحزمة يتم استخدامه لإنشاء حزمة في Java.

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

كيفية تجميع حزمة جافا

إذا كنت لا تستخدم أي IDE، فأنت بحاجة إلى اتباع بناء الجملة المعطى أدناه:

 javac -d directory javafilename 

ل مثال

 javac -d . Simple.java 

يحدد رمز التبديل -d الوجهة حيث سيتم وضع ملف الفئة الذي تم إنشاؤه. يمكنك استخدام أي اسم دليل مثل /home (في حالة Linux)، d:/abc (في حالة Windows) وما إلى ذلك. إذا كنت تريد الاحتفاظ بالحزمة داخل نفس الدليل، يمكنك استخدام . (نقطة).


كيفية تشغيل برنامج حزمة جافا

تحتاج إلى استخدام اسم مؤهل بالكامل على سبيل المثال. mypack.Simple وما إلى ذلك لتشغيل الفصل.


تجميع: جافاك -د . Simple.java
يهرب: جافا mypack.Simple
 Output:Welcome to package 
إن -d هو مفتاح يخبر المترجم بمكان وضع ملف الفئة، أي أنه يمثل الوجهة. ال . يمثل المجلد الحالي.

كيفية الوصول إلى الحزمة من حزمة أخرى؟

هناك ثلاث طرق للوصول إلى الحزمة من خارج الحزمة.

  1. حزمة الاستيراد.*;
  2. import package.classname;
  3. اسم مؤهل بالكامل.

1) استخدام اسم الحزمة.*

إذا كنت تستخدم package.*، فسيكون من الممكن الوصول إلى جميع الفئات والواجهات الخاصة بهذه الحزمة، ولكن لن يكون من الممكن الوصول إلى الحزم الفرعية.

يتم استخدام الكلمة الأساسية للاستيراد لجعل فئات وواجهة حزمة أخرى قابلة للوصول إلى الحزمة الحالية.

مثال على الحزمة التي تستورد اسم الحزمة.*

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

2) استخدام اسم الحزمة.اسم الفئة

إذا قمت باستيراد package.classname، فلن تتمكن إلا من الوصول إلى الفئة المعلنة من هذه الحزمة.

مثال على الحزمة عن طريق استيراد package.classname

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

3) استخدام اسم مؤهل بالكامل

إذا كنت تستخدم اسمًا مؤهلًا بالكامل، فلن تتمكن إلا من الوصول إلى الفئة المعلنة من هذه الحزمة. الآن ليست هناك حاجة للاستيراد. لكنك تحتاج إلى استخدام اسم مؤهل بالكامل في كل مرة تقوم فيها بالوصول إلى الفصل أو الواجهة.

يتم استخدامه بشكل عام عندما يكون لحزمتين نفس اسم الفئة، على سبيل المثال. تحتوي حزم java.util وjava.sql على فئة التاريخ.

مثال على الحزمة عن طريق استيراد اسم مؤهل بالكامل

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } } 
 Output:Hello 

ملاحظة: إذا قمت باستيراد حزمة، فلن يتم استيراد الحزم الفرعية.

إذا قمت باستيراد حزمة، فسيتم استيراد جميع فئات وواجهات تلك الحزمة باستثناء فئات وواجهات الحزم الفرعية. ومن ثم، تحتاج إلى استيراد الحزمة الفرعية أيضًا.


ملحوظة: تسلسل البرنامج يجب أن يكون حزمة ثم استيراد ثم فئة.


الحزمة الفرعية في جافا

الحزمة الموجودة داخل الحزمة تسمى حزمة فرعية . يجب أن يتم إنشاؤه لتصنيف الحزمة بشكل أكبر .

لنأخذ مثالاً، قامت شركة Sun Microsystem بتعريف حزمة اسمها java تحتوي على العديد من الفئات مثل System وString وReader وWriter وSocket وما إلى ذلك. وتمثل هذه الفئات مجموعة معينة على سبيل المثال. فئات القارئ والكاتب مخصصة لعملية الإدخال/الإخراج، وفئات المقبس وServerSocket مخصصة للشبكات وما إلى ذلك. لذلك، قامت Sun بتصنيف حزمة جافا إلى حزم فرعية مثل lang وnet وio وما إلى ذلك ووضع الفئات ذات الصلة بالإدخال/الإخراج في حزمة io وفئات Server وServerSocket في حزم net وما إلى ذلك.

معيار تعريف الحزمة هو domain.company.package على سبيل المثال. com.javatpoint.bean أو org.sssit.dao.

مثال على الحزمة الفرعية

 package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } } 
تجميع: جافاك -د . Simple.java
يهرب: جافا com.javatpoint.core.Simple
 Output:Hello subpackage 

كيفية إرسال ملف الفصل إلى دليل أو محرك أقراص آخر؟

يوجد سيناريو، أريد وضع ملف الفئة الخاص بملف مصدر A.java في مجلد الفئات لمحرك الأقراص c:. على سبيل المثال:

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

تجميع:

e:sources> javac -d c:classes Simple.java

يهرب:

لتشغيل هذا البرنامج من الدليل e:source، تحتاج إلى تعيين مسار الفئة للدليل الذي يوجد به ملف الفئة.
e:sources> set classpath=c:classes;.;
e:sources> java mypack.Simple

هناك طريقة أخرى لتشغيل هذا البرنامج عن طريق مفتاح -classpath الخاص بـ Java:

يمكن استخدام رمز التبديل -classpath مع أداة javac وjava.

لتشغيل هذا البرنامج من الدليل e:source، يمكنك استخدام مفتاح -classpath في جافا الذي يخبرك بمكان البحث عن ملف الفئة. على سبيل المثال:

متخيل جافا

e:sources> java -classpath c:classes mypack.Simple

 Output:Welcome to package 

طرق تحميل ملفات الفصل أو ملفات الجرة

هناك طريقتان لتحميل ملفات الفصل الدراسي المؤقتة والدائمة.
  • مؤقت
    • عن طريق تحديد مسار الفصل في موجه الأوامر
    • بواسطة -classpath التبديل
  • دائم
    • عن طريق تحديد مسار الفصل في متغيرات البيئة
    • عن طريق إنشاء ملف jar الذي يحتوي على جميع ملفات الفصل، ونسخ ملف jar في المجلد jre/lib/ext.

القاعدة: يمكن أن يكون هناك فئة عامة واحدة فقط في ملف مصدر Java ويجب حفظها بواسطة اسم الفئة العامة.

 //save as C.java otherwise Compilte Time Error class A{} class B{} public class C{} 

كيفية وضع فئتين عامتين في حزمة؟

إذا كنت تريد وضع فئتين عامتين في حزمة، فامتلك ملفين مصدر جافا يحتويان على فئة عامة واحدة، ولكن احتفظ باسم الحزمة كما هو. على سبيل المثال:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

ما هي ميزة الاستيراد الثابتة لـ Java5؟

انقر فوق ميزة الاستيراد الثابت لـ Java5.

ماذا عن فئة الحزمة؟

انقر لفئة الحزمة