פורסם 2010 בפברואר 515 שנים ממה שהבנתי, כשמגדירים לפונקציה בקרת גישה מסוג protected, זה אומר שאפשר לגשת אליה גם ממחלקות שיורשות אותה (subclasses) בחבילות (packages) אחרות. (הבנתי נכון?)כתבתי 2 מחלקות ב-2 חבילות שונות כדי לבדוק את זה:package b;public class Toast{ protected int rand() { return (int)(Math.random()*100); }}package a;public class Test extends b.Toast { static b.Toast x = new b.Toast(); public static void main(String[] args) { System.out.println(x.rand()); }}אך אני מקבל הודעת שגיאה שאומרת שאין גישה לפונקציה rand, למרות ש-Test היא subclass של Toast... מה אני מפספס פה?
פורסם 2010 בפברואר 515 שנים protected מאפשר לך לגשת רק לאיברים של האובייקט עצמו, ולא של אובייקטים אחרים מאותו טיפוס. כלומר, קוד כזה יעבוד:public class Test extends b.Toast { public int r() { return rand(); }}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.