هذه المقالة يدرس بشكل أساسي المحتوى المتعلق بسيطرة حقوق الوصول إلى برمجة Java ، على النحو التالي.
بالنسبة إلى المعدلات التي لم أكن قد اهتمت بها من قبل ، بشكل عام ، لم تتم إضافة المتغيرات من قبل ، أحدهما لأنني لم أكن أعرف ما كان عليه ، والآخر كان لأنني كنت كسولًا. عندما واجهت مشروعًا لاحقًا ، وجدت أنه لا يزال هناك فرق كبير بين القطاع الخاص والعام.
(1) أولاً وقبل كل شيء ، اسم الحزمة
عند استخدام فئة ، مثل فئة التجميع ، تحتاج إلى تقديم هذه الحزمة ثم استخدام الفصل أسفل الحزمة. يحب:
حزمة com.myown.iiti ؛ طباعة الفئة العامة {static void print (سلسلة s) {system.out.println (s) ؛ }}الحزم المخصصة ، من خلال تقديم الحزم الخاصة بك ، يمكنك استخدام الطريقة التي كتبتها لطباعة السلاسل في المستقبل. لقد حاولت ضبط مسار الحزمة الخاصة بي في ClassPath من قبل ، لذلك عند التجميع في أدلة أخرى ، لا تحتاج إلى وضع الحزمة في هذا الدليل ، ويمكن أيضًا تشغيلها بشكل طبيعي ، وإلا فلن يتم العثور على حزمة JAR.
(2) الجمهور
الأماكن العامة ، العامة ، في الماضي ، استخدم المعلمون في كثير من الأحيان لاو تزو كاستعارة. هذا شيء عام ، سأستخدمه لك. يتبع الجمهور أعضاء البيانات عن كثب ، مما يعني أنه متاح للجميع.
(3) خاص
خاص ، خاص ، ممتلكاتي الخاصة ، لا تلمسها. باستثناء الفصل الذي يحتوي على عضو البيانات هذا في الحزمة التي يمكن استخدامها ، لا يمكن استخدام فئات أخرى. هذا الجزء هو شيء لا يريد المصمم نفسه إظهاره أو تعديله للأجانب.
طباعة الفئة العامة {public static void main (string [] args) {getit g = new getIt () ؛ }} class getit {// لاحظ أن الملف يمكن أن يحتوي فقط على فئة عامة واحدة. إذا كنت ترغب في إضافة عام أمام // ، فلا تكتبه في نفس الملف مثل Print Private GetIt () {}}GetIt () المُنشئ غير مرئي ، فهو غير مرئي ، ويمكن ملاحظة أنه مفيد. يستخدم نمط Singleton أيضًا بهذه الطريقة ، يتحكم في إنشاء كائنات.
تطبيق وضع Singleton:
الفئة A {private a () {} static private a = new a () ؛ static static a getInstace () {return a ؛ }}لا يمكن للفئات الأخرى إنشاء كائنات من خلال الجديد ، لأن المنشئ يتم تعديله بواسطة الخاص. والغرض من ذلك هو أنه عندما تكون هذه الفئة A معقدة للغاية وتستهلك الذاكرة ، أحتاج إلى التحكم الصارم في إنشاء كائنات. نظرًا لأننا قدمنا حالة واحدة ، فسنتحدث عن الحالة الفردية بالمناسبة. لقد قرأت بعض كتابات بعض الناس من قبل ، إنها كلاسيكية ومدهشة للغاية.
ما سبق هو نمط رجل جائع ، وهو مساعدتك في الحصول على جديد بمجرد أن تأتي ، واستخدامه مباشرة عندما تحصل على جديد في المستقبل. لا توجد مشكلة في الخيوط. العيب هو أنه إذا كان عديمة الفائدة ، فسيكون مضيعة للموارد.
أسلوب كسول
الفئة العامة A {private a () {} static private a a ؛ static public a getInstance () {if (a == null) {return a = new a () ؛ } آخر {return a ؛ }}}سيساعدك ذلك جديدًا عند استخدامه ، وسيكون جديدًا عند استخدامه ، ولكن هناك مشكلة في خيوط. إذا قمت بإضافة متزامنة ، فسيتم تقليل الكفاءة لأنه إذا كنت تستخدمها ، فسيتم احتلال أحدها.
الطريقة المثالية هي الجمع بين الاثنين:
الفئة العامة A {// الفئة الداخلية الثابتة الخاصة ، سيتم تحميل الفصل فقط عندما يكون هناك فئة ثابتة مرجعية static Lazya {public static aa = new a () ؛ } static static a getInstance () {return lazya.a ؛ }}لا أستطيع أن أفهم هذا الطبقة الداخلية الثابتة المزعومة من قبل. الوظيفة هي تحقيق التحميل المتأخر ، لأنه سيتم استخدامه فقط عند جديد. استخدم طريقة getInstance. لا توجد مشكلة متعددة الخيوط لأن الفئة الثابتة تنتمي إلى جميع كائنات الفئة الخارجية وسيتم تحميلها مرة واحدة فقط. بعد إنشاء فئة داخلية ثابتة ، فهي سمة على مستوى الفصل ، والتي لا تنتمي إلى كائن معين ، ولكن سيتم تحميلها مرة واحدة فقط. وبهذه الطريقة ، لن يكون هناك أي نفايات للموارد ولا توجد مشكلة في عدم كفاءة متعدد الخيوط. الشخص الذي توصل إلى هذه الطريقة مذهل حقًا.
(4) محمية
الطباعة هي الفئة الأساسية. يحب الصينيون التحدث عن فئة الوالدين ، لكن الأجانب يعتقدون أن الفئات الفرعية أكثر روعة. الفئة الأساسية هي أساس أو أساس. المحمية هي الخاصية التي تركتها على وجه التحديد لابني.
طباعة الفئة العامة {protected void print () {} لا يمكن private void print () {}} فئة عامة printson تمتد print {void get () {print () ؛ // لا يمكن print () ؛ طريقة خاصة خاصة ، لا تزال الفئات الفرعية لا يمكن استخدامها}} الفئة العامة notson {void get () {print () ؛ }}يمكن الحصول على الفئة الفرعية المعدلة المحمية ، بين العام والخاص.
(5) أذونات الوصول للفئة
يمكن أن يكون لكل ملف فئة عامة واحدة فقط.
اسم الفصل واسم الملف متماثلان.
إذا لم يكن لديك أساس أساسي ، فسيكون ذلك قليلاً في وقت مبكر ، ولكن بعد تحسين نقاط المعرفة ، سيكون من السهل فهمها. لا يزال التحكم في حقوق الوصول يعتمد على ما إذا كنت ترغب في استخدام الجزء الخاص بك من الكود الخاص بك مباشرة للآخرين.
لخص
ما سبق هو كل التفسير المفصل لرمز التحكم لأذونات الوصول إلى برمجة Java في هذه المقالة ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!