الفكرة ببساطة
toString() تعيد وصفًا نصيًا للكائن. في Employee نختار أن يحتوي النص الاسم والعمر والراتب بدل الاكتفاء بالتمثيل الافتراضي.
toString()
toString() تعيد وصفًا نصيًا للكائن. في Employee نختار أن يحتوي النص الاسم والعمر والراتب بدل الاكتفاء بالتمثيل الافتراضي.
نكتب public String toString() دون Parameters. داخلها return لنص مجمع من الحقول. لا تطبع هذه Method بنفسها في مثالنا.
System.out.println(e1) تستخدم التمثيل النصي للكائن، لذلك يظهر النص الذي أعادته toString. ويمكن استدعاء e1.toString() صراحة أيضًا.
الجزء "name: " نص ثابت، وname قيمة حقل. نستخدم + لدمج الأجزاء، وتأتي قيم الحقول من الكائن الذي تُستدعى عليه Method.
public class TestClass {
public static void main(String[] args) {
Employee e1 = new Employee("Mohamed", 20, 5000);
System.out.println(e1);
}
}public class Employee {
private String name;
private int age;
private double salary;
public Employee(String n, int a, double s) {
name = n;
age = a;
salary = s;
}
public String toString() {
return "name: " + name + ", age: " + age + ", salary: " + salary;
}
}الـReturn Type هو String، وليس void. كتابة println داخل Method دون إرجاع String لا تحقق صيغة toString المطلوبة.
غيّر بيانات الكائن، ثم افتح Employee.java وقارن return بالنص الظاهر في Console.
محاكاة لهذا المثال المحدد، وليست تشغيلًا لكود Java عشوائي.