-
נדרש משנה הגישה , המתאר את הנגישות של מחלקה, אובייקט או שדה: בהיעדרו, ה-JVM (זהו מקור כזה לקסם אוניברסלי) מקצה אוטומטית מזהה ברירת מחדל לחבילה.
החל מהשינוי השני ישנם משנים ללא גישה, שאינם חובה ויכולים גם להתנגש זה עם זה (אבל דבר ראשון).
-
השינוי הסטטי מציין שהמחלקה, האובייקט או השדה הם סטטיים. אבל מה זה אומר? בעיקרון ננסה את זה על השדות.
משתנים סטטיים נקראים משתני מחלקה והם ייחודיים לכל המופעים של אותה מחלקה. ניתן לקרוא לשיטות סטטיות מבלי ליצור את האובייקט שבו הן מוצהרות. מחלקות סטטיות משמשות כאשר מקננים מחלקה אחת לאחרת ועקרון האינטראקציה בין המחלקה הפנימית והחיצונית דומה לשיטות (זהו נושא לדיון נפרד). יכול לשמש גם כבלוק נפרד בתוך אובייקט.
-
השינוי הסופי מציין למעשה למשתנה שהוא קבוע. לשיטות - שלא ניתן לעקוף אותן במהלך ההורשה, אבל עבור מחלקות זו אינדיקציה שלא ניתן להוריש ממנה (בלתי ניתן לשינוי).
השינויים הסטטיים והסופיים חלים על מחלקות, אובייקטים ושדות. עם זאת, ישנם מתקנים החלים רק על חלקם (או אפילו חלק מהם, שכן גם משתנה וגם מתודה הם שדה, אך לא כל המשתנים חלים על שניהם). אם נצייר אנלוגיה, רק מגפיים וכפפות יכולים להיות מוקסמים למהירות (כדי לגרום להם לנוע מהר יותר), אבל להקסים כובע למהירות הוא חסר טעם (והמועצה האוניברסלית לפיקוח (מהדר) לא תאפשר זאת).
-
השינוי המופשט חל רק על מתודות ומחלקות . שיטה מופשטת היא שיטה ללא מימוש (גוף).
אם מחלקה מסומנת כמופשטת, היא מכילה שיטות מופשטות או שהיא נעשית כדי למנוע יצירת מופעים של אותה מחלקה. אם נצייר אנלוגיה, באמצע ההוראות אתה יכול לראות את הכותרת "צביעת אובייקט", שלאחריה אין תיאור. הָהֵן. באמצעות הוראה זו אתה יכול ליצור אובייקט ואתה יכול גם לצבוע אותו, אבל ההוראה הספציפית הזו לא אומרת איך (כתוב הוראות משלך ליצירת אובייקט אדום על סמך אובייקט זה ותאר כיצד לצבוע אותו).
-
השינוי המסונכרן משמש רק עבור שיטות. נוכחותו מצביעה על כך שרק שרשור אחד יכול לבצע אותו בכל פעם. יכול לשמש גם כגוש קוד נפרד בתוך אובייקט (ציון אובייקט הסנכרון).
-
מתקן נדיף - רק למשתנים . מומלץ להשתמש במשתנים שניתן להשתמש בהם בו-זמנית על ידי מספר שרשורים. משתנה עם משתנה כזה מועתק באופן מיידי ממטמון המעבד לזיכרון הראשי בכל פעם שהוא משתנה, מה שמאפשר לשרשורים מקבילים לקבל את הערך העדכני ביותר.
ראוי לציין ש-volatile ישים במקרים שבהם רק שרשור אחד יכול לכתוב למשתנה, והשאר יכולים רק לקרוא ממנו. במקרים אחרים, עדיף להוסיף את השינוי המסונכרן לשיטות שכותבות למשתנה נדיף.
-
שינוי חולף - רק עבור משתנים . השינוי הזה מסמן משתנים שיש לדלג עליהם בעת ביצוע סדרה של אובייקט (זה תהליך כל כך חכם שבאופן עקרוני, אתה יכול לקרוא על זה בעצמך...)*
* - כתבתי את המאמר הזה ברמה 17 ועד אז לא תוארה סדרה כתהליך, אז במקום העתק-הדבק, אני ממליץ לך ללמוד את זה בעצמך במידת הצורך.
- סופי ונדיף - כשמדובר במשתנים, לא נוכל לומר בו זמנית שהוא סופי (קבוע) ושיש לכמה שרשורים את היכולת לשנות אותו... הרי הוא קבוע, ובכל רגע שרשור יכול לקרוא אותו , אבל אף חוט אחד לא יכול לשנות את הקבוע (מועצת הפיקוח האוניברסלית לא תאפשר זאת).
- סופי ומופשט - מחלקות ושיטות אינן יכולות להיות מופשטות (מה שברוב המקרים מרמז על הצורך להבהיר אותן ליישום) והן סופיות, כלומר. בלתי ניתן לשינוי. מסתבר שההוראות אומרות איך ליצור קסדה עמידה טובה מכל חומר (חלק מופשט), אבל בשביל זה אסור שיהיו בה חורים (לא ניתן לשנות את החלק החובה האחרון).
- מופשט וסטטי - שיטה מופשטת לא יכולה להיות סטטית או מסונכרנת בו זמנית. שיטה מופשטת סטטית לא הגיונית, כי לא רק שהיא לא עושה כלום, אלא שהיא גם שייכת למחלקה שלמה - התוצאה היא דבר חסר תועלת.
- מופשט ומסונכרן - מה הטעם לסנכרן עבודה עם שיטה שלא עושה כלום?
GO TO FULL VERSION