Lahat ng mga pamamaraan ng Object class, at higit pa sa toString() method - 1

"Hi, Amigo!"

"Hi!"

"Ngayon ay pag-aaralan natin ang klase ng Object.
Nakatagpo mo na ito, at alam mo na ang Object ay ang batayang klase para sa lahat ng klase. Halos wala itong data, ngunit mayroon itong ilang mga pamamaraan."

"Bakit kailangan nito ng mga pamamaraan? May gumagawa ba talaga ng mga pagkakataon ng klase ng Object?"

"Tingnan mo ito sa ganitong paraan: ang mga pamamaraan sa klase ng Bagay ay karaniwan sa lahat ng mga klase. Sa madaling salita, ang mga tagalikha ng Java ay natukoy ang ilang mga pamamaraan na, sa kanilang opinyon, ang bawat klase ay dapat magkaroon at idinagdag ang mga ito sa klase ng Bagay."

"At kapag pinagsama sa polymorphism (ang kakayahang i-override ang mga pamamaraan ng klase ng Object sa mga nagmula na klase), ito ay nagiging isang napakalakas na tool."

"Tingnan natin kung ano ang mga pamamaraang ito:"

Pamamaraan Paglalarawan
public String toString()
Nagbabalik ng string na representasyon ng bagay.
public native int hashCode()
public boolean equals(Object obj)
Isang pares ng mga pamamaraan na ginagamit upang ihambing ang mga bagay.
public final native Class getClass()
Nagbabalik ng isang espesyal na bagay na naglalarawan sa kasalukuyang klase.
public final native void notify()
public final native void notifyAll()
public final native void wait(long timeout)
public final void wait(long timeout, intnanos)
public final void wait()
Mga pamamaraan para sa pagkontrol ng access sa isang bagay mula sa iba't ibang mga thread. Para sa pag-synchronize ng thread.
protected void finalize()
Hinahayaan ka ng paraang ito na maglabas ng mga katutubong hindi Java na mapagkukunan: isara ang mga file, stream, atbp.
protected native Object clone()
Hinahayaan ka ng paraang ito na i-clone ang isang bagay: lumilikha ng duplicate ng bagay.

"Ang mga pamamaraang ito ay maaaring hatiin sa 6 na grupo. Pamilyar ka na sa ilan sa mga ito, at makikilala natin ang iba pa sa mga susunod na aralin."

"Para sa ilang kadahilanan, wala akong nakikitang kapaki-pakinabang dito."

"Amigo! Kung hindi mahalaga ang mga pamamaraang ito, hindi sana nila idinagdag ang mga ito sa bawat isang bagay! Kaya, ipinapayo ko sa iyo na tingnang mabuti kung ano ang mga ito at kung bakit kailangan ang mga ito. Kung tila hindi mahalaga sa iyo ang mga ito. , pagkatapos ay maaaring hindi mo naintindihan ang isang bagay o hindi naiintindihan ng tama ang isang bagay."

"Sige. Makikinig akong mabuti."

"Magsimula tayo sa toString() na pamamaraan.

"Hinahayaan ka ng paraang ito na makakuha ng isang paglalarawan ng teksto ng anumang bagay. Napakasimple ng pagpapatupad nito sa klase ng Bagay:"

return getClass().getName() + "@" + Integer.toHexString(hashCode());

Ang "getClass() at hashCode() ay mga pamamaraan din ng Object class.
Ang pagtawag sa paraang ito ay karaniwang nagbubunga ng resultang tulad nito:"

java.lang.Object@12F456

"At ano ang magandang paglalarawan?"

"Ang paglalarawang ito ay nagbibigay-daan sa iyo na malaman ang klase ng bagay kung saan tinawag ang pamamaraan. Maaari mo ring makilala ang pagitan ng mga bagay; ang iba't ibang mga bagay ay magkakaroon ng magkakaibang mga digit pagkatapos ng simbolo na @."

"Ngunit ang tunay na halaga ng pamamaraang ito ay nasa ibang lugar. Ang pamamaraang ito ay maaaring ma-overwritten sa anumang klase upang magbalik ng mas detalyado o angkop na paglalarawan ng bagay."

"Ngunit may higit pa. Dahil maaari kang makakuha ng representasyon ng teksto ng bawat bagay, ginawang posible ng Java na ipatupad mo ang suporta para sa 'pagdaragdag' ng mga String sa mga bagay.
Tingnan ito:"

Code Kung ano talaga ang nangyayari
int age = 18;
System.out.println("Age is " + age);

String s = String.valueOf(18);
String result = "Age is " + s;
System.out.println(result);
Student st = new Student("Vincent");
System.out.println("Student is " + st);

Student st = new Student("Vincent");
String result = "Student is " + st.toString();
System.out.println(result);
Car car = new Porsche();
System.out.println("My car is " + car);

Car car = new Porsche();
String result = "My car is " + car.toString();
System.out.println(result);

"Oo, regular kong ginagamit ito. Lalo na kapag nagsusulat ako ng program o naghahanap ng mga bug. Ito ay isang kapaki-pakinabang na operasyon."