على الرغم من أن لغة Java هي لغة برمجة موجهة نحو الكائنات ، فإن أنواع البيانات الأساسية الثمانية لا تدعم البرمجة الموجهة للكائنات. يتم استخدامها فقط لتلبية العادات ذات الجذور العميقة للبشر ويمكنها بالفعل إجراء معالجة البيانات الروتينية ببساطة وفعالية.
هذه الممارسة المتمثلة في استخدام التكنولوجيا غير الموجه في بعض الأحيان تسبب إزعاجًا على سبيل المثال. فئة الكائن. لحل هذه المشكلة ، تسمى Java Designs المقابلة لكل نوع بيانات أساسي ، وتسمى فئات Wrapper ، والكتب المدرسية أيضًا فئات التراكب أو فئات نوع البيانات.
يمكن لكل كائن غلاف أن يلف نوعًا أساسيًا من البيانات ويوفر بعض الطرق المفيدة الأخرى. بمجرد إنشاء كائن غلاف ، لا يمكن تغيير محتوىه (قيمة بيانات النوع الأساسية المغطاة).
يمكن استبدال الأنواع الأساسية وفئات التغليف المقابلة ببعضها البعض:
يسمى التحويل من الأنواع الأساسية إلى فئات التغليف المقابلة الملاكمة ، مثل التفاف int إلى كائن من فئة عدد صحيح ؛
يُطلق على تحويل فئة Wrapper إلى النوع الأساسي المقابل إلغاء التزام ، على سبيل المثال ، تبسيط كائنات فئة INTEGER إلى ints مرة أخرى.
تطبيقات التغليف
يتشابه استخدام ثماني فصول للتغليف نسبيًا ، والسيناريوهات التطبيق الشائعة.
1) تنفيذ التحويل المتبادل بين int و integer
يمكن أن يكون عدد صحيح من خلال مُنشئ فئة عدد صحيح ويتم إلغاء عدد صحيح من خلال طريقة Integer Intvalue. على سبيل المثال:
الطبقة العامة {public static void (args) {int m = 500 ؛ println ("n =" n) ؛
نتائج التشغيل:
ن = 500OBJ يعادل OBJ1؟ حقيقي
2) تحويل السلسلة إلى عدد صحيح
تحتوي فئة Integer على طريقة paseint () ثابتة تقوم بتحويل السلاسل إلى أعداد صحيحة ، مع بناء الجملة:
Parseint (سلسلة S ، int radix) ؛
S هي السلسلة المراد تحويلها ، Radix في ثنائي ، اختياري ، وافتراضات إلى العشرية.
سيخبرك الرمز التالي عن نوع السلسلة التي يمكن تحويلها إلى أعداد صحيحة:
Demo Class public {public static void main (string [] = integer.parseint (str1 ، 10) ؛ ") ؛}}}}
نتائج التشغيل:
لا يمكن تحويل 123 إلى عدد صحيح 123123ABC إلى عدد صحيح لا يمكن تحويل ABC123 إلى عدد صحيح ABCXYZ
3) تحويل الأعداد الصحيحة إلى سلاسل
تحتوي فئة Integer على طريقة Tostring () ثابتة تحول الأعداد الصحيحة إلى سلاسل. على سبيل المثال:
الطبقة العامة العاطفية {public static void (string [] args) {int m = 500 ؛
نتائج التشغيل:
S = 500
التلقائي التلقائي والتعبئة
تتطلب جميع الأمثلة المذكورة أعلاه إنشاء مثيل يدوي لفئة غلاف ، تسمى unboxing اليدوي. يجب أن تكون Java 1.5 (5.0) غير مربعة يدويًا.
بعد Java 1.5 ، يمكن إلغاء تعويضه تلقائيًا ، أي عند تحويل أنواع البيانات الأساسية وفئات التغليف المقابلة ، سيؤدي النظام تلقائيًا ، مما يسهل كتابة رمز المبرمجين بشكل كبير. على سبيل المثال:
الطبقة العامة {public static void main (] args) {int m = 500 ؛ ) ؛
نتائج التشغيل:
ن = 500OBJ يعادل OBJ1؟ حقيقي
يعد التعبئة التلقائية والتعبئة وظيفة شائعة الاستخدام ، ويحتاج القراء إلى التركيز عليها.
لا يمكن أن تحتوي الحزم فقط على فصول ، ولكن أيضًا واجهات وحزم أخرى.
يستخدم الدليل "/" لتمثيل العلاقات الهرمية ، مثل e: /java/workspace/demo/bin/p1/p2/test.java.
الحزمة تستخدم ". لتمثيل العلاقات الهرمية.
كيفية تنفيذ الحزم
يمكن إعلان الحزمة من خلال الكلمة الرئيسية الحزمة ، على سبيل المثال:
حزمة P1.P2 ؛
يجب وضع عبارة الحزمة أمام جميع العبارات ، على سبيل المثال:
حزمة P1.P2 ؛ اختبار الفئة العامة {public test () {system.out.println ("أنا مُنشئ فئة الاختبار") ؛
يشير إلى أن فئة الاختبار موجودة في حزمة p1.p2.
مكالمة الحزمة
في Java ، هناك طريقتان لاتصال الفصول في حزم أخرى.
1) أضف اسم الحزمة الكامل قبل كل اسم فئة
مثال على البرنامج:
الطبقة العامة التجريبية {public static void (string [] args) {java.util.date اليوم = new java.util.date () ؛
نتائج التشغيل:
الأربعاء 03 11:20:13 CST 2014
2) تقديم الفصل في الحزمة من خلال بيان الاستيراد
مثال على البرنامج:
استيراد java.util.date ؛ // يمكنك أيضًا استيراد جميع الفئات في حزمة java.util // eSpor () ؛
نتيجة التشغيل هي نفسها أعلاه.
في البرمجة الفعلية ، ليست هناك حاجة إلى كتابة الفصل في هذه التفاصيل.
مسار الطبقة
عند استيراد الفصل ، يجب أن تعرف المسار المطلق للفئة.
قم أولاً بإنشاء Demo.java في E:/Java/Workspace/Demo/SRC/P0/Directory (E:/Java/Workspace/Demo/SRC/هو الدليل الجذر لملف مصدر المشروع) ، وأدخل الرمز التالي:
package p0 ؛ import p1.p2.test ؛ public class demo {public static void main (string [] args) {test obj = new test () ؛
ثم قم بإنشاء test.java في دليل E:/Java/Workspace/Demo/SRC/P1/P2 ، وأدخل الكود التالي:
حزمة P1.P2 ؛ اختبار الفئة العامة {public test () {system.out.println ("أنا مُنشئ فئة الاختبار") ؛
لنفترض أننا نضع متغير بيئة ClassPath إلى. ؛/ملفات البرامج/JDK1.7.0_71/lib ، وهناك عبارة استيراد p1.p2.test ؛ تحقق من E:/java/ما إذا كان test.java أو ملف test.class موجود في مساحة العمل/التوضيح/src/p0/p1/الدليل. /LIB/P1/P2/الدليل سيستمر في استرداده. من الواضح أن Test.Java موجود في دليل E:/Java/Demo/SRC/P1/P2.
يمكن تحديد ClassPath من خلال خيار ClassPath لأمر Javac.
افتح CMD ، أدخل الدليل حيث يوجد ملف Demo.java ، وقم بتنفيذ أمر Javac ، وقم بتعيين ClassPath على E:/Java/Workspace/Demo/SRC ، كما هو موضح في الشكل أدناه:
عند تشغيل برنامج Java ، تحتاج أيضًا إلى معرفة المسار المطلق للفئة. أقل:
لاحظ الفرق بين أوامر Java وأوامر Javac.
يمكن فهمه بهذه الطريقة أن Javac هو أمر منصة يعمل على ملفات منصة محددة ويشير إلى مسار الملف المترجم. Java هو أمر آلي افتراضي يستخدم نموذج الوصف المنقط لعمليات الفصل ، أي وصف الفصل يجب وصفه في شكل منقط ، ولا يمكنه إضافة ملحقات ، والانتباه إلى حالة اسم الفصل.
هذه الأوامر معقدة للغاية ، ويتطلب التطوير الفعلي مساعدة Eclipse ، والتي هي مريحة للغاية لإدارة الحزم وتجميع وتشغيل البرامج تحت Eclipse. Eclipse ينفذ هذه الأوامر بالفعل.
أذونات الوصول للحزم
يمكن استخدام الفئات أو الأساليب أو المتغيرات الأعضاء المعلنة كجمهور من قبل أي فئة تحت أي حزمة ، في حين أن الفئات أو الأساليب أو المتغيرات الأعضاء المعلنة على أنها خاصة لا يمكن استخدامها إلا من قبل هذه الفئة.
لا يمكن الوصول إلى الفئات والأساليب والمتغيرات الأعضاء دون أي معدلات إلا من قبل جميع الفئات في هذه الحزمة ، ولا يمكن لأي فئة خارج الحزمة الوصول إليها.