يتم تنفيذ المنهج toString في جافا بهيمنة المنهج toString الخاص بالفئة "Object". يتم استخدام المنهج toString لجافا عندما نكون في حاجة الى تمثيل بنوع سلسلة "string" للكائن. وهو معرف في الفئة Object. تم تجاوز هذا المنهج لتخصيص تمثيل نوع سلسلة "string" لـ Object. أدناه هو برنامج عرض استخدام المنهج جافا الافتراضي toString لـ Object .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | class PointCoordinates { private int x, y; public PointCoordinates( int x, int y) { this .x = x; this .y = y; } public int getX() { return x; } public int getY() { return y; } } public class ToStringDemo { public static void main(String args[]) { PointCoordinates point = new PointCoordinates( 10 , 10 ); // using the Default Object.toString() Method System.out.println( "Object toString() method : " + point); // implicitly call toString() on object as part of string concatenation String s = point + " testing" ; System.out.println(s); } } |
عند تشغيل البرنامج ToStringDemo، الإخراج هو :
Object toString() method : PointCoordinates@119c082
PointCoordinates@119c082 testing
في المثال أعلاه عندما نحاول طباعة الكائن PointCoordinates ، فإنه يستدعي داخليا المنهج toString () للكائن بما اننا لم نتجاوز المنهج toString () لجافا . بما ان المثال السابق لا يوجد لديه المنهج toString فهو يستخدم المنهج الافتراضي toString الخاص بالكائن "Object". شكل المنهج الافتراضي toString للكائن موضح أدناه.
اسم فئة ، "@" ، ونسخة hashcode للكائن بنظام العد السداسي عشر (Hexadecimal) و متسلسلة في نوع سلسلة "string" .
عادة يتم تطبيق المنهج الافتراضي hashCode للكائن عن طريق تحويل عنوان ذاكرة للكائن الى عدد صحيح.
أدناه هو مثال لنفس البرنامج يظهر تجاوز المنهج الافتراضي للكائن toString . المنهج toString () يجب أن يكون وصفي و يجب أن يغطي كافة محتويات الكائن.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | class PointCoordinates { private int x, y; public PointCoordinates( int x, int y) { this .x = x; this .y = y; } public int getX() { return x; } public int getY() { return y; } //Custom toString() Method. public String toString() { return "X=" + x + " " + "Y=" + y; } } public class ToStringDemo2 { public static void main(String args[]) { PointCoordinates point = new PointCoordinates( 10 , 10 ); // using the Over ridden Object.toString() Method System.out.println(point); String s = point + " testing" ; System.out.println(s); } } |
عند تشغيل البرنامج ToStringDemo2 ، الإخراج هو :
X=10 Y=10
X=10 Y=10 testing
ليست هناك تعليقات:
إرسال تعليق