అన్ని ఆబ్జెక్ట్ క్లాస్ మెథడ్స్, ఇంకా మరిన్ని toString() మెథడ్ - 1

"హాయ్, అమిగో!"

"హాయ్!"

"ఈ రోజు మనం ఆబ్జెక్ట్ క్లాస్‌ని అధ్యయనం చేయబోతున్నాం.
మీరు దీన్ని ఇప్పటికే ఎదుర్కొన్నారు మరియు ఆబ్జెక్ట్ అన్ని తరగతులకు బేస్ క్లాస్ అని మీకు తెలుసు. దీనికి ఆచరణాత్మకంగా డేటా లేదు, కానీ దీనికి అనేక పద్ధతులు ఉన్నాయి."

"దీనికి పద్ధతులు ఎందుకు అవసరం? ఎవరైనా నిజంగా ఆబ్జెక్ట్ క్లాస్ యొక్క ఉదాహరణలను సృష్టిస్తారా?"

"దీనిని ఈ విధంగా చూడండి: ఆబ్జెక్ట్ క్లాస్‌లోని పద్ధతులు అన్ని తరగతులలో సాధారణం. మరో మాటలో చెప్పాలంటే, జావా సృష్టికర్తలు వారి అభిప్రాయం ప్రకారం, ప్రతి తరగతికి ఉండవలసిన అనేక పద్ధతులను గుర్తించారు మరియు వాటిని ఆబ్జెక్ట్ క్లాస్‌కు జోడించారు."

"మరియు పాలిమార్ఫిజంతో కలిపినప్పుడు (ఉత్పన్న తరగతులలో ఆబ్జెక్ట్ క్లాస్ యొక్క పద్ధతులను భర్తీ చేసే సామర్థ్యం), ఇది చాలా శక్తివంతమైన సాధనంగా మారుతుంది."

"ఈ పద్ధతులు ఏమిటో చూద్దాం:"

పద్ధతి వివరణ
public String toString()
వస్తువు యొక్క స్ట్రింగ్ ప్రాతినిధ్యాన్ని అందిస్తుంది.
public native int hashCode()
public boolean equals(Object obj)
వస్తువులను పోల్చడానికి ఉపయోగించే ఒక జత పద్ధతులు.
public final native Class getClass()
ప్రస్తుత తరగతిని వివరించే ప్రత్యేక వస్తువును అందిస్తుంది.
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()
వివిధ థ్రెడ్‌ల నుండి వస్తువుకు యాక్సెస్‌ని నియంత్రించే పద్ధతులు. థ్రెడ్ సింక్రొనైజేషన్ కోసం.
protected void finalize()
ఈ పద్ధతి స్థానిక జావాయేతర వనరులను విడుదల చేయడానికి మిమ్మల్ని అనుమతిస్తుంది: ఫైల్‌లు, స్ట్రీమ్‌లను మూసివేయండి.
protected native Object clone()
ఈ పద్ధతి ఒక వస్తువును క్లోన్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది: వస్తువు యొక్క నకిలీని సృష్టిస్తుంది.

"ఈ పద్ధతులను 6 సమూహాలుగా విభజించవచ్చు. వాటిలో కొన్నింటిని మీరు ఇప్పటికే సుపరిచితులై ఉంటారు మరియు మేము తదుపరి పాఠాలలో మిగిలిన వాటితో పరిచయం చేస్తాము."

"కొన్ని కారణాల వల్ల, నాకు ఇక్కడ ఉపయోగకరమైనది ఏమీ కనిపించడం లేదు."

"ఏమిగో! ఈ పద్ధతులు ముఖ్యమైనవి కాకపోతే, అవి ప్రతి వస్తువుకు వాటిని జోడించవు! కాబట్టి, ఇవి ఏమిటో మరియు అవి ఎందుకు అవసరమో మరింత దగ్గరగా చూడమని నేను మీకు సలహా ఇస్తున్నాను. అవి మీకు అప్రధానంగా అనిపిస్తే. , అప్పుడు మీకు ఏదో అర్థం కాలేదు లేదా సరిగ్గా అర్థం కాలేదు."

"సరే. నేను జాగ్రత్తగా వింటాను."

"toString() పద్ధతితో ప్రారంభిద్దాం.

"ఈ పద్ధతి ఏదైనా వస్తువు యొక్క వచన వివరణను పొందడానికి మిమ్మల్ని అనుమతిస్తుంది. ఆబ్జెక్ట్ క్లాస్‌లో దీని అమలు చాలా సులభం:"

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

"getClass() మరియు hashCode() కూడా ఆబ్జెక్ట్ క్లాస్ యొక్క పద్ధతులు.
ఈ పద్ధతిని పిలవడం సాధారణంగా ఇలాంటి ఫలితాన్ని ఇస్తుంది:"

java.lang.Object@12F456

"మరి అటువంటి వివరణ ఏమిటి?"

"ఈ వివరణ పద్ధతిని పిలిచే వస్తువు యొక్క తరగతిని మీకు తెలియజేస్తుంది. మీరు వస్తువుల మధ్య తేడాను కూడా గుర్తించవచ్చు; వివిధ వస్తువులు @ గుర్తు తర్వాత వేర్వేరు అంకెలను కలిగి ఉంటాయి."

"కానీ ఈ పద్ధతి యొక్క నిజమైన విలువ మరెక్కడా ఉంది. ఈ పద్ధతిని మరింత వివరణాత్మక లేదా తగిన వస్తువు వివరణను అందించడానికి ఏ తరగతిలోనైనా భర్తీ చేయవచ్చు."

"కానీ ఇంకా చాలా ఉన్నాయి. మీరు ప్రతి ఆబ్జెక్ట్ యొక్క టెక్స్ట్ ప్రాతినిధ్యాన్ని పొందవచ్చు కాబట్టి, జావా ఆబ్జెక్ట్‌లకు స్ట్రింగ్‌లను జోడించడం కోసం మీకు మద్దతును అమలు చేయడం సాధ్యం చేసింది.
దీన్ని తనిఖీ చేయండి:"

కోడ్ నిజంగా ఏమి జరుగుతుంది
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);

"అవును, నేను దీన్ని రెగ్యులర్‌గా ఉపయోగిస్తాను. ముఖ్యంగా నేను ప్రోగ్రామ్‌ను వ్రాస్తున్నప్పుడు లేదా బగ్‌ల కోసం చూస్తున్నప్పుడు. ఇది ఉపయోగకరమైన ఆపరేషన్."