حرف إذن الوصول:
(1) الجمهور:
للأعضاء: يمكن الوصول إليها من قبل أي فئة أخرى ، سواء في نفس الحزمة أو في حزمة أخرى.
بالنسبة للفصول: الشيء نفسه صحيح.
(2) ودية:
للأعضاء القدامى: إذا لم يكن لدى أحد أعضاء الفصل أي تعديل أذونات ، فإن بابها هو أذونات الوصول إلى الحزمة الافتراضية.
إنها ليست كلمة رئيسية في Java ، ولكن هذه طريقة للتعبير عنها شخصيًا. يمكن الوصول إلى فئات أخرى في نفس الحزمة ، ولكن خارج الحزمة
هذا غير ممكن. بالنسبة للفصول الدراسية التي لا تتم ضمن نفس المجلد ، بدون حزمة ، سترى Java هذه الفئات تلقائيًا كما هو الحال في الدليل الذي ينتمي إلى هذا الدليل
الحزمة الافتراضية يمكن أن تتصل بالأعضاء الودية في الفصل. على سبيل المثال ، الفئتان التاليتان موجودتان في الملفان من نفس المجلد ، على التوالي
على الرغم من أنه لم يتم تقديمه في الحزمة ، إلا أنه ينتمي إلى نفس الحزمة الافتراضية.
Class Sundae {// الطريقتين التاليتين هما Sundae () {} void f () {system.out.println ("sundae.f ()") ؛ سلسلة] args) {Sundae X = New Sundae () ؛
بالنسبة للفصول: يمكن استخدام الفصول في نفس الحزمة. باختصار ، لا يمكن للصف إلا أن يعلن أنه عام أو ودود.
(3) خاص:
للأعضاء: فقط الوصول إلى الفصل الذي ينتمي إليه العضو.
Class Sundae {Private Sundae () {} // لا يمكن استدعاؤها إلا في Sundae Class Sundae (int i) {} static sundae makasundae () {return new sundae () ؛ String [] args) {// Sundae المُنشئ () في فئة Sundae خاصة ، // لا يمكن تهيئتها // Sundae X = New Sundae () ؛ int) إنه ودود ، يمكنك استدعاء sunae z = sundae.makasundae () ؛}}
بالنسبة للفصول: لا يمكن إعلان الفصل بأنه خاص.
(4) محمية:
للأعضاء: يمكن للفئات في نفس الحزمة الوصول (أذونات الوصول إلى الحزمة) ؛
(5) الافتراضي (الأذونات الافتراضية)
يمكن لأعضاء البيانات وأعضاء البيانات والطرق البناءة وأعضاء الطريقة استخدام الأذونات الافتراضية ، أي عدم كتابة أي كلمات رئيسية. الأذونات الافتراضية هي نفس أذونات الحزمة ، ولا يمكن استدعاء عناصر أذونات الحزمة نفسها إلا في فئاتها وفئة الحزمة نفسها.
مثال: الحزمة C05.local ؛
استيراد pack1.cookie ؛ ملف تعريف الارتباط ليس في حزمة ، ولكل منها أذونات الوصول إلى الحزمة لا تفي بمتطلبات الخصوصية ، لذلك من الأفضل ضبطها على الحماية. System.out .println ("شوكولاتيكب مُنشئ") ؛
Package 1 ؛
هناك تفسير أفضل لأذونات الفصل:
أذونات الوصول من الفصل الدراسي:
العام: يمكن استخدامه لجميع الوصول إلى الفصل.
الافتراضي: يمكن تسمية الافتراضي الودية ، ولكن لا يوجد معدل ودود في لغة Java. إذن الوصول الافتراضي هو إذن الوصول على مستوى الحزمة.
هذا هو ، إذا تمت كتابة فئة بدون معدل للوصول إلى الكتابة ، فهذا هو إذن الوصول الافتراضي ، ويمكن الوصول إلى جميع الفئات الموجودة تحت نفس الحزمة ، حتى لو كان من الممكن إنشاء إنشاء فئة (بالطبع ، إذا لم يكن لدى هذه الفئة القدرة على إنشاء إنشاء ، على سبيل المثال ، لا توفر هذه الفئة مُنشئًا عامًا).
يوضح:
1. يمكن أن يكون لكل وحدة تجميع (ملف الفئة) فئة عامة واحدة فقط
2. يجب أن يكون اسم الفئة العامة (بما في ذلك الحالة العليا) هو نفسه ملف الفئة.
3. قد لا يوجد ملف فئة (*.java).
هذا الشكل من سيناريو الوجود: إذا كتبنا فصلًا في حزمة ، فهو مجرد التعاون مع فئات أخرى في الحزمة ، ولا نريد كتابة حساب إلى العميل (وليس بالضرورة عميلًا له معنى واقعي ، قد يكون من الصداع استدعاء هذه الفئة) وقد يكون من الصداع قليلاً لرؤيته ، وقد يكون من الممكن تغيير الممارسة الأصلية تمامًا بعد فترة من الزمن ، والتخلي تمامًا عن الإصدار القديم واستبداله نسخة جديدة.
4. لا يمكن أن يكون الفصل خاصًا أو محميًا.
5. إذا كنت لا تريد أي كائن يولد فئة معينة ، فيمكنك تعيين جميع المُنشئ على القطاع الخاص. ولكن على الرغم من ذلك ، يمكن إنشاء كائن هذه الفئة ، وهو العضو (خصائص وطرق) الفئة الثابتة يمكن القيام بها.
مثال شامل:
أولاً. جافا:
رقم الحزمة ؛ ؛ بواسطة الفئات والفئات الفرعية في نفس الحزمة. ؛
الإخراج:
جافا مرحبا اختبار مرحبا اختبار