Објекат класа у Јави је присутан у јава.ланг пакет.
градова у Аустралији
- Свака класа је директно или индиректно изведена из класе Објецт. Ако класа не проширује ниједну другу класу онда је то директна подређена класа Јава Објецт цласс а ако проширује другу класу онда је индиректно изведена.
- Класа Објецт пружа неколико метода као што су тоСтринг()једнако() хасхЦоде() и многе друге.
- Класа Објецт делује као корен хијерархије наслеђивања у било ком Јава програму.
Овде користимо тоСтринг() и хасхЦоде() методе класе Објецт да обезбеди прилагођену репрезентацију стрингова за класу .
Java
// Java Code to demonstrate Object class class Person { String n; //name // Constructor public Person(String n) { this.n = n; } // Override toString() for a // custom string representation @Override public String toString() { return 'Person{name:'' + n + ''}'; } public static void main(String[] args) { Person p = new Person('Geek'); // Custom string representation System.out.println(p.toString()); // Default hash code value System.out.println(p.hashCode()); } }
Излаз
Person{name:'Geek'} 321001045 Објашњење: У горњем примеру замењујемо тоСтринг() начин да се обезбеди а прилагођена репрезентација стрингова класе Персон и користите хасхЦоде() метода за приказ подразумеване вредности хеш кода објекта.
Методе класе објеката
Класа Објецт пружа више метода које су следеће:
- метода тоСтринг().
- метода хасхЦоде().
- Метода екуалс(Објецт обј).
- метода финализе().
- гетЦласс() метода
- цлоне() метода
- чекај() нотифи() нотифиАлл() (цонцурренци методе)

1. Метод тоСтринг().
Тхе тоСтринг() пружа Стринг репрезентацију објекта и користи се за претварање објекта у Стринг. Подразумевана метода тоСтринг() за класу Објецт враћа стринг који се састоји од имена класе чији је објекат инстанца знак ат-знака `@' и непотписан хексадецимални приказ хексадецималног кода објекта.
Напомена: Кад год покушамо да одштампамо било коју референцу објекта, интерно се позива метода тоСтринг().
Пример:
јавни час ученик {
јавни стринг тоСтринг() {
ретурн 'Студент објекат';
}
}
Објашњење: Метода тоСтринг() је замењена да би се вратила прилагођена репрезентација стрингова Студент објекта.
2. метода хасхЦоде().
За сваки објекат ЈВМ генерише јединствени број који је хеш код. Враћа различите целе бројеве за различите објекте. Уобичајена заблуда о овој методи је да метода хасхЦоде() враћа адресу објекта која није тачна. Конвертује интерну адресу објекта у цео број помоћу алгоритма. Метод хасхЦоде() је нативе јер је у Јави немогуће пронаћи адресу објекта, па користи матерње језике као што је Ц/Ц++ да пронађе адресу објекта.
Употреба методе хасхЦоде():
Враћа хеш вредност која се користи за претрагу објеката у колекцији. ЈВМ (Јава виртуелна машина) користи метод хеш кода док чува објекте у структурама података које се односе на хеширање као што је ХасхСет ХасхМап Хасхтабле итд. Главна предност чувања објеката заснованих на хеш коду је та што претраживање постаје лако.
Напомена: Оверриде оф хасхЦоде() метод треба урадити тако да за сваки објекат генеришемо јединствени број. На пример, за разред ученика можемо да вратимо ролну бр. ученика из методе хасхЦоде() јер је јединствен.
Пример:
јавни час ученик {
инт ролл;
@Оверриде
јавни инт хасхЦоде() {
повратна ролна;
}
}
Објашњење: Тхе хасхЦоде() метода је замењена да би се вратила прилагођена хеш вредност заснована на ролл студентског објекта.
3. Метода екуалс(Објецт обј).
Тхе једнако() метода пореди дати објекат са тренутним објектом. Препоручљиво је заобићи овај метод да бисте дефинисали прилагођене услове једнакости.
Напомена: Уопштено је неопходно заобићи хасхЦоде() метод кад год се овај метод замени како би се одржао општи уговор за метод хасхЦоде који наводи да једнаки објекти морају имати једнаке хеш кодове.
Пример:
јавни час ученик {
инт ролл;
@Оверриде
јавни логички једнак (Објекат о) {
иф (о инстанцеоф Студент) {
ретурн тхис.ролл == ((Ученик) о).ролл;
}
ретурн фалсе;
}
}
Објашњење: Тхе једнако() метод је замењен за поређење ролл између два објекта Студент.
4. метода гетЦласс().
Тхе гетЦласс() метода враћа објекат класе 'тхис' објекта и користи се за добијање стварне рунтиме класе објекта. Такође се може користити за добијање метаподатака ове класе. Враћени објекат класе је објекат који је закључан статичким синхронизованим методама представљене класе. Пошто је коначан тако да га не поништавамо.
Пример:
Java// Demonstrate working of getClass() public class Geeks { public static void main(String[] args) { Object o = new String('GeeksForGeeks'); Class c = o.getClass(); System.out.println('Class of Object o is: ' + c.getName()); } }
Излаз
Class of Object o is: java.lang.String
Објашњење: Тхе гетЦласс() метода се користи за штампање рунтиме класе 'о' објекта.
Напомена: Након учитавања .цласс датотеке ЈВМ ће креирати објекат типа јава.ланг.Цласс у области Хеап. Можемо користити овај објекат класе да добијемо информације о нивоу класе. Широко се користи у Рефлексија
5. метода финализе().
Тхе финализе() метода се позива непосредно пре него што се објекат сакупља за смеће. То се зове Гарбаге Цоллецтор на објекту када сакупљач смећа утврди да више нема референци на објекат. Требало би да заобиђемо метод финализе() да бисмо одложили системске ресурсе, извршили активности чишћења и минимизирали цурење меморије. На пример, пре уништавања веб-контејнера објеката Сервлета увек се зове метода финализе за обављање активности чишћења сесије.
Напомена: Метод финализације се зове јуст једном на објекту иако је тај објекат подобан за сакупљање смећа више пута.
Пример:
Java// Demonstrate working of finalize() public class Geeks { public static void main(String[] args) { Geeks t = new Geeks(); 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'); } }
Излаз
1510467688 end finalize method called
Објашњење: Тхе финализе() метода се позива непосредно пре него што се објекат сакупља за смеће.
6. метода цлоне().
Тхе клон () метода креира и враћа нови објекат који је копија тренутног објекта.
Пример:
јавна класа Боок имплементс Цлонеабле {
приватни Стринг т; //наслов
јавна књига(стринг т) {
тхис.т = т;
}
@Оверриде
публиц Објецт цлоне() избацује ЦлонеНотСуппортедЕкцептион {
ретурн супер.цлоне();
}
}
Објашњење: Тхе клон () метода је замењена да би се вратила клонирана копија Објекат књиге .
7. Методе конкурентности: чекај() нотифи() и нотифиАлл()
Ове методе су повезане са нит Комуникација у Јави . Користе се да натерају нити да чекају или обавештавају друге у истовременом програмирању.
Пример коришћења свих метода класе објеката у Јави
Javaimport java.io.*; public class Book implements Cloneable { private String t; // title private String a; // author private int y; // year public Book(String t String a int y) { this.t = t; this.a = a; this.y = y; } // Override the toString method @Override public String toString() { return t + ' by ' + a + ' (' + y + ')'; } // Override the equals method @Override public boolean equals(Object o) { if (o == null || !(o instanceof Book)) { return false; } Book other = (Book)o; return this.t.equals(other.getTitle()) && this.a.equals(other.getAuthor()) && this.y == other.getYear(); } // Override the hashCode method @Override public int hashCode() { int res = 17; res = 31 * res + t.hashCode(); res = 31 * res + a.hashCode(); res = 31 * res + y; return res; } // 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 t; } public String getAuthor() { return a; } public int getYear() { return y; } public static void main(String[] args) { // Create a Book object and print its details Book b1 = new Book( 'The Hitchhiker's Guide to the Galaxy' 'Douglas Adams' 1979); System.out.println(b1); // Create a clone of the Book object and print its // details Book b2 = b1.clone(); System.out.println(b2); // Check if the two objects are equal System.out.println('b1 equals b2: ' + b1.equals(b2)); // Get the hash code of the two objects System.out.println('b1 hash code: ' + b1.hashCode()); System.out.println('b2 hash code: ' + b2.hashCode()); // Set book1 to null to trigger garbage collection // and finalize method b1 = null; System.gc(); } }
Излаз
The Hitchhiker's Guide to the Galaxy by Douglas Adams (1979) The Hitchhiker's Guide to the Galaxy by Douglas Adams (1979) b1 equals b2: true b1 hash code: 1840214527 b2 hash code: 1840214527
Објашњење: Горњи пример показује употребу тоСтринг() једнако() хасхЦоде() и клон () методе у Час књиге .