المنهج toString لجافا
يتم تنفيذ المنهج 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
51class 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
67class 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