الطبقة الداخلية
لا يمكن استخدام الفئة A {// inner1 إلا بعد تهيئة A ، أي أنه يجب استدعاؤه بواسطة الكائن A. class inner1 {int k = 0 ؛ // static int j = 0 ؛ // بعد تحميل A ، لا يتم تحميل Inner1 ، لذلك لا يمكن استخدام هذا المتغير الثابت J على الفور ، ويتم الإبلاغ عن خطأ نهائي in z = 0 ؛ /*static void sister1 () {}*/void sister2 () {}} // inner2 يمكنه استخدام static class inner2 {int k = 0 ؛ ثابت int j = 0 ؛ النهائي int z = 0 ؛ static void sile1 () {} void sile2 () {}} // استدعاء الفئة الداخلية void c () {Final int x = 0 ؛ // بعد التعديل النهائي ، جديد a () A.Inner2.say1 () ؛ New A.Inner2 (). say2 () ؛ // تتطلب الطريقة غير المتطايرة sile2 () استدعاء كائن الفئة التي ينتمي إلى الفئة inner3 {void print () {system.out.println (x) ؛ }} / * * يجب إعلان استدعاء الفئة الداخلية المحلية بالطريقة بعد الإعلان ، * أمر التنفيذ في الطريقة من أعلى إلى أسفل ، وهذا الفئة * يعادل متغيرًا محليًا بالطبع ، يجب عليك أولاً إعلانه ، ثم استخدام * / new INNER3 (). }} class loader java.lang.classloader
تتمثل المسؤولية الأساسية لفئة java.lang.classloader في العثور على أو إنشاء رمز البايت المقابل استنادًا إلى اسم فئة محددة ، ثم تحديد فئة Java من هذه الرموز البايت ، أي مثيل لفئة java.lang.class. بالإضافة إلى ذلك ، يعد ClassLoader مسؤولاً أيضًا عن تحميل الموارد التي تتطلبها تطبيقات Java ، مثل ملفات الصور وملفات التكوين. ومع ذلك ، فإن هذه المقالة تناقش فقط وظيفة فئة التحميل الخاصة بها. من أجل إكمال هذه المسؤولية عن فئات التحميل ، يوفر ClassLoader سلسلة من الأساليب:
GetParent () إرجاع محمل الفئة الأصل من تحميل الفئة.
يقوم LoadClass (اسم السلسلة) بتحميل الفصل باسم الاسم ، والنتيجة التي تم إرجاعها هي مثيل لفئة java.lang.class.
البحث عن Class (اسم السلسلة) يبحث عن فئة باسم اسم ، والنتيجة التي تم إرجاعها هي مثيل لفئة java.lang.class.
يبحث FindLoadedClass (اسم السلسلة) عن فئة محملة باسم اسم ، والنتيجة التي تم إرجاعها هي مثيل لفئة java.lang.class.
يحول DefereClass (اسم السلسلة ، Byte [] B ، int Off ، int len) المحتويات في صفيف البايت B إلى فئة Java ، والنتيجة التي تم إرجاعها هي مثيل لفئة java.lang.class. تم الإعلان عن هذه الطريقة نهائية.
يربط ResolveClass (فئة <؟> C) فئة Java المحددة.
يمتد الفئة العامة ClassLoaderTest {public static void main (string [] args) يلقي SecurityException ، nosuchmethodexception {// root class loader ، url url library cors cors المحملة [] لـ (url u: urls) {system.out.println (u) ؛ }. // Application (تطبيق تطبيق classloader) فئة loader ، حملة بيئة نظام التحميل متغير أو classpath // حزمة jar المحددة ونظام classpath.err.println ("التطبيق (النظام) class loader" + classloader.getsystemclasslassloader ()) ؛ // system.out.println (system.getenv ("path")) ؛ // system.out.println (system.getenv ("classpath")) ؛ }}