JAVA למבינים

sbennys

New member
JAVA למבינים

השבוע הייתי ברעיון עבודה ונשאלתי שאלה כזאת: אם יש לי מחלקה בשם B, למחלקה זו יש מתודה בשם () public Object GetId בנוסף יש לי מחלקה בשם C , האם המתודה GetId יכולה להחזיר את c מסוג C, לי היה נראה שכן אם לא למה? בהמשך לשאלה נשאלתי האם זה יעבוד : () B b = new B () C c = b.GetId האם זה יעבוד?
 

DadleFish

New member
לא רואה למה לא

בשורה האחרונה (ההשמה ל-c) צריך casting אבל חוץ מזה נראה בסדר.
 

desertboy

New member
ככה

הראשון יעבוד כי כל מחלקה ב java יורשת מ Object. השני לא יעבור קומפילציה אלה אם תבצע casting מפורש.
 

Zack DA

New member
בחור, למד את ההבדלים בין

upcast ו- downcast. ואז יהיה לך ברור מה קורה בכל מצב...
 
למעלה