خرداد ۸, ۱۳۹۸ Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

کلاس Object کلاس پدر تمامی کلاس ها در جاوا می باشد. به عبارت دیگر، بالاترین کلاس در سلسله مراتب وراثت کلاس Object است که تمامی کلاس های جاوا از آن مشتق می شوند.

کلاس Object برای شرایطی مورد استفاده قرار می گیرد که توسعه دهنده نوع شی مورد نظر را نمی داند.

اگر به خاطر داشته باشید متغیر اشاره گر به کلاس پدر (آبجکت از جنس کلاس پدر) می تواند شی کلاس فرزند را در خود جای داده و به آن اشاره کند که در مباحث قبلی از آن تحت عنوان upcasting یا تبدیل کلاس فرزند به پدر یاد کردیم.

یک مثال ساده را در نظر بگیرید. فرض کنید متدی به نام getObject وجود دارد که در خروجی یک شی برمی گرداند. این شی می تواند از جنس کلاس Employee، Student و غیره … باشد. می توان با استفاده از متغیری از جنس کلاس Object، شی خروجی متد نام برده را ذخیره کرده و به آن اشاره کنیم.

مثال :

Object obj=getObject();//ما نمی دانیم که کدام شی از این متد برمیگردد

کلاس پایه ی Object تعدادی متد (قابلیت و رفتار) پرکاربرد و معمول را در اختیار تمامی کلاس هایی که از آن مشتق می شوند، قرار می دهد. از جمله این متدها می توان به متد مربوط به مقایسه، کپی و اطلاع رسانی به یک شی نام برد.

متدهای کلاس Object

متدتوضیحات
public final Class getClass()
کلاس شی را برمی گرداند. از خروجی این متد می توان برای بازیابی metadata و اطلاعات بیشتر دربا ره این کلاس استفاده کرد.
public int hashCode()
شماره کد (hashcode) شی هش یا رمزنگاری شده را برمی گرداند.
public boolean equals(Object obj)
دو شی را با هم مقایسه می کند.
protected Object clone() throws CloneNotSupportedException
یک کپی عینی از شی ایجاد کرده و در خروجی برمی گرداند.
public String toString()
یک شی را به رشته تبدیل کرده و آن رشته را در خروجی برمی گرداند.
public final void notify()
Thread (که در monitor یا قفل ناظر بر روی منبع مورد نظر در حال انتظار است) را بیدار کرده و به آن اجازه می دهد که به کار خود ادامه دهد.
public final void notifyAll()
تمامی thread هایی که در monitor (قفل اعمال شده بر روی منبع مورد نظر) در حالت انتظار هستند را بیدار کرده و پس از برداشتن قفل از روی منبع، به آن ها اجازه می دهد به کار خود ادامه دهند.
public final void wait(long timeout)throws InterruptedException
این تابع سبب می شود thread جاری تعداد مشخصی میلی ثانیه را صبر کرده و قفل اعمال شده بر روی شی را بردارد تا thread دیگر به کار خود ادامه دهد و از منبع مورد نظر استفاده کند (توابع notify و notifyAll را صدا بزند).
public final void wait(long timeout,int nanos)throws InterruptedException
سبب می شود thread جاری تعداد مشخصی میلی ثانیه و نانوثانیه صبر کند تا thread دیگری بیدار شود و به کار خود ادامه دهد (متد invoke یا notifyAll را صدا بزند)
public final void wait()throws InterruptedException
سبب می شود thread جاری صبر کرده و thread دیگری بیدار شود و به کار خود ادامه دهد (متد notify یا notifyAll را صدا بزند.)
protected void finalize()throws Throwable
این متد را مدیریت کننده ی حافظه یا garbage collector قبل از اینکه شی مورد نظر را از حافظه حذف کند، صدا می زند.

 

 


برچسب ها