Gjenstand klasse er til stede i java.lang pakke. Hver klasse i Java er direkte eller indirekte avledet fra Gjenstand klasse. Hvis en klasse ikke utvider noen annen klasse, er det en direkte barneklasse av Gjenstand og hvis utvider en annen klasse, er den indirekte avledet. Derfor er Object-klassemetodene tilgjengelige for alle Java-klasser. Derfor fungerer objektklassen som en rot av arvehierarkiet i ethvert Java-program.

Bruke objektklassemetoder
Objektklassen gir flere metoder som er som følger:
- toString()-metoden
- hashCode()-metoden
- lik (Objekt obj) metode
- finalize()-metoden
- getClass()-metoden
- clone() metode
- wait(), notify() notifyAll() metoder
1. toString()-metoden
toString() gir en strengrepresentasjon av et objekt og brukes til å konvertere et objekt til en streng. Standard toString()-metoden for klasse Object returnerer en streng som består av navnet på klassen som objektet er en forekomst av, at-tegnet «@» og den usignerte heksadesimale representasjonen av hash-koden til objektet. Med andre ord er det definert som:
// Default behavior of toString() is to print class name, then // @, then unsigned hexadecimal representation of the hash code // of the object public String toString() { return getClass().getName() + '@' + Integer.toHexString(hashCode()); }> Det anbefales alltid å overstyre toString() metode for å få vår egen strengrepresentasjon av objektet. For mer om overstyring av toString()-metoden se – Overstyrer toString() i Java
Merk: Hver gang vi prøver å skrive ut en objektreferanse, kalles internt toString()-metoden.
Student s = new Student(); // Below two statements are equivalent System.out.println(s); System.out.println(s.toString());>
2. hashCode() metode
For hvert objekt genererer JVM et unikt nummer som er en hashkode. Den returnerer distinkte heltall for distinkte objekter. En vanlig misforståelse om denne metoden er at hashCode()-metoden returnerer adressen til objektet, som ikke er riktig. Den konverterer den interne adressen til objektet til et heltall ved å bruke en algoritme. hashCode()-metoden er innfødt fordi i Java er det umulig å finne adressen til et objekt, så det bruker morsmål som C/C++ for å finne adressen til objektet.
Bruk av hashCode()-metoden
Den returnerer en hash-verdi som brukes til å søke i objekter i en samling. JVM (Java Virtual Machine) bruker hashkode-metoden mens du lagrer objekter i hashing-relaterte datastrukturer som HashSet, HashMap, Hashtable, etc. Hovedfordelen med å lagre objekter basert på hash-kode er at det blir enkelt å søke.
Merk: Overstyring av hashkode() metoden må gjøres slik at for hvert objekt genererer vi et unikt tall. For eksempel, for en studentklasse, kan vi returnere rullenr. av en student fra hashCode()-metoden siden den er unik.
Java
array som legger til elementer java
// Java program to demonstrate working of> // hashCode() and toString()> public> class> Student {> >static> int> last_roll =>100>;> >int> roll_no;> >// Constructor> >Student()> >{> >roll_no = last_roll;> >last_roll++;> >}> >// Overriding hashCode()> >@Override> public> int> hashCode() {>return> roll_no; }> >// Driver code> >public> static> void> main(String args[])> >{> >Student s =>new> Student();> >// Below two statements are equivalent> >System.out.println(s);> >System.out.println(s.toString());> >}> }> |
>
>
Utgang:
Student@64 Student@64>
Merk at 4*160+ 6*161= 100
liste som array
3. lik (Objekt obj) metode
Den sammenligner det gitte objektet med dette objektet (objektet som metoden kalles på). Det gir en generisk måte å sammenligne objekter for likhet. Det anbefales å overstyre lik (Objekt objekt) metode for å få vår egen likestillingsbetingelse på Objekter. For mer om overstyring av lik (Object obj)-metoden, se – Overstyring lik metode i Java
Merk: Det er generelt nødvendig å overstyre hashkode() metode når denne metoden overstyres, for å opprettholde den generelle kontrakten for hashCode-metoden, som sier at like objekter må ha like hash-koder.
4. getClass()-metoden
Den returnerer klasseobjektet til dette objektet og brukes til å få den faktiske kjøretidsklassen til objektet. Den kan også brukes til å hente metadata for denne klassen. Det returnerte klasseobjektet er objektet som er låst av statiske synkroniserte metoder for den representerte klassen. Siden den er endelig, så overstyrer vi den ikke.
Java
// Java program to demonstrate working of getClass()> public> class> Test {> >public> static> void> main(String[] args)> >{> >Object obj =>new> String(>'GeeksForGeeks'>);> >Class c = obj.getClass();> >System.out.println(>'Class of Object obj is : '> >+ c.getName());> >}> }> |
>
>
Produksjon:
Class of Object obj is : java.lang.String>
Merk: Etter å ha lastet en .class-fil, vil JVM lage et objekt av typen java.lang.Klasse i Heap-området. Vi kan bruke dette klasseobjektet for å få informasjon på klassenivå. Det er mye brukt i Speilbilde
5. finalize() metode
Denne metoden kalles rett før en gjenstand samles opp med søppel. Det kalles Søppelmann på en gjenstand når søppelsamleren fastslår at det ikke er flere referanser til gjenstanden. Vi bør overstyre finalize()-metoden for å disponere systemressurser, utføre oppryddingsaktiviteter og minimere minnelekkasjer. For eksempel, før du ødelegger Servlet-objekters webcontainer, alltid kalt finalize-metoden for å utføre oppryddingsaktiviteter i økten.
Merk: Finaliseringsmetoden kalles bare en gang på en gjenstand selv om den gjenstanden er kvalifisert for søppelhenting flere ganger.
Java
rekha indisk
// Java program to demonstrate working of finalize()> public> class> Test {> >public> static> void> main(String[] args)> >{> >Test t =>new> Test();> >System.out.println(t.hashCode());> >t =>null>;> >// calling garbage collector> >System.gc();> >System.out.println(>'end'>);> >}> >@Override> protected> void> finalize()> >{> >System.out.println(>'finalize method called'>);> >}> }> |
>
>
Produksjon:
1510467688 finalize method called end>
6. klone() metode
Den returnerer et nytt objekt som er nøyaktig det samme som dette objektet. For klone()-metoden se Klone() .
De resterende tre metodene vente() , gi beskjed() varsleAlle() er relatert til samtidighet. Referere til Kommunikasjon mellom tråder i Java for detaljer.
Eksempel på bruk av alle Object-klassemetodene i Java
jquery ved klikk
Java
import> java.io.*;> public> class> Book>implements> Cloneable {> >private> String title;> >private> String author;> >private> int> year;> >public> Book(String title, String author,>int> year)> >{> >this>.title = title;> >this>.author = author;> >this>.year = year;> >}> >// Override the toString method> >@Override> public> String toString()> >{> >return> title +>' by '> + author +>' ('> + year +>')'>;> >}> >// Override the equals method> >@Override> public> boolean> equals(Object obj)> >{> >if> (obj ==>null> || !(obj>instanceof> Book)) {> >return> false>;> >}> >Book other = (Book)obj;> >return> this>.title.equals(other.getTitle())> >&&>this>.author.equals(other.getAuthor())> >&&>this>.year == other.getYear();> >}> >// Override the hashCode method> >@Override> public> int> hashCode()> >{> >int> result =>17>;> >result =>31> * result + title.hashCode();> >result =>31> * result + author.hashCode();> >result =>31> * result + year;> >return> result;> >}> >// Override the clone method> >@Override> public> Book clone()> >{> >try> {> >return> (Book)>super>.clone();> >}> >catch> (CloneNotSupportedException e) {> >throw> new> AssertionError();> >}> >}> >// Override the finalize method> >@Override> protected> void> finalize()>throws> Throwable> >{> >System.out.println(>'Finalizing '> +>this>);> >}> >public> String getTitle() {>return> title; }> >public> String getAuthor() {>return> author; }> >public> int> getYear() {>return> year; }> >public> static> void> main(String[] args)> >{> >// Create a Book object and print its details> >Book book1 =>new> Book(> >'The Hitchhiker's Guide to the Galaxy'>,> >'Douglas Adams'>,>1979>);> >System.out.println(book1);> >// Create a clone of the Book object and print its> >// details> >Book book2 = book1.clone();> >System.out.println(book2);> >// Check if the two objects are equal> >System.out.println(>'book1 equals book2: '> >+ book1.equals(book2));> >// Get the hash code of the two objects> >System.out.println(>'book1 hash code: '> >+ book1.hashCode());> >System.out.println(>'book2 hash code: '> >+ book2.hashCode());> >// Set book1 to null to trigger garbage collection> >// and finalize method> >book1 =>null>;> >System.gc();> >}> }> |
>
>Produksjon
The Hitchhiker's Guide to the Galaxy by Douglas Adams (1979) The Hitchhiker's Guide to the Galaxy by Douglas Adams (1979) book1 equals book2: true book1 hash code: 1840214527 book2 hash code: 1840214527>