Isi kandungan:
Video: Android 101 by Fred Widjaja 2024
Kaedah
toString
mengembalikan perwakilan
String
pada objek di Java. Secara lalai, kaedah
toString
mengembalikan nama kelas objek ditambah kod hashnya. Di sini, anda mengetahui cara menggunakan kaedah
toString
dan bagaimana untuk mengatasinya dalam kelas anda sendiri untuk membuat lebih banyak rentetan berguna.
Menggunakan toString di Java
Berikut ialah satu program mudah yang meletakkan kaedah
toString
berfungsi:
public static void main (String [] args)
{
Employee emp = Employee baru ("Martinez",
" Anthony "); Sistem
. keluar. println (emp toString ());
}
}
Pekerja kelas
{
LastName String swasta;
firstName String swasta;
{
ini. lastName = lastName;
ini. firstName = firstName;
}
}
Kod ini mencipta objek
Kakitangan
baru; maka hasil dari
toString
kaedah dicetak ke konsol. Apabila anda menjalankan program ini, baris berikut dicetak pada konsol:
Pekerja @ 82ba41
Kod hash - dalam kes ini,
82ba41 - pasti akan berbeza dengan sistem anda.
Ternyata panggilan yang jelas untuk
toString
tidak semestinya diperlukan dalam contoh ini. Anda boleh dengan mudah menulis baris kedua kaedah
utama
seperti ini:
Sistem. keluar. println (emp);
Itu kerana kaedah
println
secara automatik memanggil kaedah
toString
bagi sebarang objek yang anda lulus.
Overriding toString di Java
Pelaksanaan default
toString
tidak begitu berguna dalam kebanyakan situasi. Anda tidak benar-benar belajar banyak tentang objek
Kakitangan
dengan melihat kod hashnya, contohnya. Bukankah lebih baik jika kaedah
toString
kembali beberapa data sebenar dari objek, seperti nama pekerja?
Untuk melakukan itu, anda mesti mengatasi kaedah
toString
dalam kelas anda. Sebenarnya, salah satu garis panduan asas pengaturcaraan berorientasikan objek di Jawa ialah
selalu
menimpa toString. Berikut adalah satu program mudah dengan kelas
Kakitangan
yang mengatasi
toString
:
kelas awam TestToString
{
{
Empangan pekerja = Pekerja baru ("Martinez",
"Anthony"); Sistem
. keluar. println (emp toString ());
}
}
Pekerja kelas
{
LastName String swasta;
firstName String swasta;
Pekerja Awam (String lastName, String firstName)
{
ini.lastName = lastName;
ini. firstName = firstName;
}
String awam keString ()
{
kembali "Pekerja ["
+ ini. firstName + ""
+ ini. LastName + "]";
}
}
Apabila anda menjalankan program ini, baris berikut dipaparkan pada konsol:
Pekerja [Anthony Martinez]
Perhatikan bahawa output terdiri daripada nama kelas diikuti oleh beberapa data dari objek dalam kurungan. Konvensyen ini lazim dalam pengaturcaraan Java.
Satu-satunya masalah dengan contoh terdahulu ialah nama kelas dikodekan dengan
keString
. Anda boleh menggunakan kaedah
getClass
untuk mendapatkan nama kelas sebenar semasa runtime:
public String toString ()
{
kembali ini. getClass (). getName () + "["
+ ini. firstName + ""
+ ini. LastName + "]";
}
Di sini kaedah
getClass
mengembalikan objek
Kelas
yang mewakili kelas objek semasa. Kemudian kelas
Kelas
objek
getName
digunakan untuk mendapatkan nama kelas sebenar.