در ارث بری عناصر private هم ارث بری میشوند ولی فقط برای عناصر پدر قابل دسترس خواهند بود .
اگر در یک توالی ارث بری 4 کلاس پشت سر هم از هم ارث بری کرده باشند موقع ساختن یک Object جدید از آخرین فرزند به ترتیب از اولین نسل متد constractor آن call میشود تا به فرزند آخر برسد
اگر متدی در پدر وجود داشت و در فرزند متدی با همان نام ولی آرگومان های متفاوت ایجاد کنیم override نکردیم بلکه overload کرده ایم و با توجه به نیاز میتوان از هر دو متد استفاده کرد
متد final شده دیگر توسط فرزندان قابل override نسیت
از نظر OOP در ارث بری متد ها هنگام Override کردن حق نداریم سطح دسترسی را محدود تر کنیم مثلا متد public در پدر نمیتواند بصورت private در فرزند override شود
دو فرزندی که یک پدر مشترک دارند ولی در یک سلسله توارثی نباشند قابل cast به هم نیستند
قوانین Overriding :
متد public باید بصورت public شده override شود
متد protected باید بصورت public یا protected شده override شود
متد default (خالی) باید بصورت public یا protected یا default شده override شود
متد private قابل override نیست
آرگومان و نوع برگشتی متد ها باید در کلاس های فرزند و والد یکسان باشد
نوع داده های Enum از ارث بری پشتیبانی نمیکنند چون نیازی هم ندارند !