Sobes.tech
Junior

Роли синфи Object дар Java чист?

sobes.tech AI

Ҷавоб аз AI

Дарс Object дар Java дархости асосии синфҳои иерархия мебошад. Он суперкласс барои ҳамаи синфҳои дигар, аз ҷумла массивҳо мебошад.

Ролҳо ва функсияҳои асосӣ:

  • Аҷдоди умумӣ: Ҳар як синф дар Java ғайрирасмӣ аз Object мерос мегирад. Ин маъно дорад, ки ҳар як объекти Java метавонад ба навъи Object табдил дода шавад.
  • Таъмини маҷмӯи асосии методҳо: Object маҷмӯи методҳои асосиро дорад, ки барои ҳамаи объектҳо дастрасанд. Инҳо дохил мешаванд:
    • equals(Object obj): Ду объектро барои баробарӣ муқоиса мекунад.
    • hashCode(): Кодекодрои хеши объектро бармегардонад.
    • toString(): Намояндаии сатрии объектро бармегардонад.
    • getClass(): Объекти Class-ро бармегардонад, ки вақти иҷрои синфро намояндагӣ мекунад.
    • notify(), notifyAll(), wait(), wait(long timeout), wait(long timeout, int nanos): Методҳо барои ҳамоҳангсозии ҷараёнҳо.
    • clone(): Нусхаи объектро месозад ва бармегардонад (талап мекунад, ки интерфейси Cloneable-ро иҷро кунад).
    • finalize(): Метод, ки пеш аз хориҷ кардани объект аз ҷониби ҷамъкунандаи партовҳо даъват мешавад (худсохт, истифодаи онро тавсия намедиҳанд).
  • Полиформизм: Бо сабаби он, ки Object як аҷдоди умумӣ аст, метавон коллексияҳо ё методҳоро сохт, ки бо ҳар навъи объект кор мекунанд, бо истифода аз полиформизм. Масалан, ArrayList<Object> метавонад элементҳои ҳар навъиро нигоҳ дорад.
// Мисоли истифодаи методи toString()
public class MyClass {
    private int value;

    public MyClass(int value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return "MyClass [value=" + value + "]";
    }

    public static void main(String[] args) {
        MyClass obj = new MyClass(10);
        System.out.println(obj.toString()); // Натиҷа: "MyClass [value=10]"
    }
}