logo

ההבדל בין סטטי ללא סטטי בג'אווה

כדי להבין כיצד מחלקות, משתנים ושיטות פועלות ב-Java, חיוני להבין את המושגים סטטי ולא-סטטי. חברים לא סטטיים מקושרים למופעי מחלקה ספציפיים, ואילו חברים סטטיים מחוברים למחלקה. בסעיף זה, נציג רכיבי Java סטטיים לעומת לא סטטיים, ומדגיש את ההבדלים ביניהם ויישומים פוטנציאליים.

קשור ל

סטָטִי: חברים סטטיים (משתנים ושיטות) משויכים למחלקה עצמה ולא למופעים בודדים.

לא סטטי: איברים לא סטטיים הם ספציפיים לכל מופע של מחלקה, מכיוון שהם קשורים לאובייקטים שנוצרו מהמחלקה.

mysql הצג את כל המשתמשים

הקצאת זיכרון

סטָטִי: לחברים סטטיים מוקצה זיכרון פעם אחת בלבד, בזמן טעינת הכיתה. הם משותפים בין כל המופעים של הכיתה.

לא סטטי: לחברים שאינם סטטיים יש זיכרון שהוקצה בנפרד עבור כל מופע של המחלקה. לכל אובייקט יש עותק משלו של איברים לא סטטיים.

גישה

סטָטִי: ניתן לגשת לחברים סטטיים ישירות באמצעות שם הכיתה ואחריו שם החבר (למשל, ClassName.memberName). הם נגישים מכל מקום בתוך התוכנית.

לא סטטי: גישה לאיברים לא סטטיים מתבצעת באמצעות הפניה לאובייקט ואחריו שם האיבר (למשל, objectReference.memberName). הם ספציפיים למופע מסוים של המחלקה.

רונאס בפאוורשל

אִתחוּל

סטָטִי: חברים סטטיים מאותחלים כאשר המחלקה נטענת לזיכרון, בדרך כלל במהלך הפעלת התוכנית. אתחול מתרחש פעם אחת בלבד.

לא סטטי: חברים לא סטטיים מאותחלים כאשר כל מופע של המחלקה נוצר, בדרך כלל באמצעות מילת המפתח החדשה. האתחול מתרחש בנפרד עבור כל אובייקט.

תְחוּם

סטָטִי: לחברים סטטיים יש היקף גלובלי וניתן לגשת אליהם מכל מקום בתוך התוכנית, אפילו מבלי ליצור מופע של המחלקה.

לא סטטי: לחברים שאינם סטטיים יש היקף מקומי וניתן לגשת אליהם רק דרך מופע של המחלקה. הם אינם נגישים ללא יצירת אובייקט.

גישה לחברים

סטָטִי: חברים סטטיים יכולים לגשת רק לחברים סטטיים אחרים באותה מחלקה. הם לא יכולים לגשת ישירות לחברים שאינם סטטיים.

לא סטטי: חברים לא סטטיים יכולים לגשת גם לחברים סטטיים וגם לא סטטיים בתוך אותה מחלקה. יש להם גישה ישירה לכל החברים.

נוֹהָג

סטָטִי: איברים סטטיים משמשים בדרך כלל עבור שיטות שירות, קבועים או משתנים שאינם ספציפיים למופעים בודדים. לדוגמה, כיתת מתמטיקה המכילה פונקציות מתמטיות.

css משנה גודל תמונה

לא סטטי: משתמשים באיברים לא סטטיים להתנהגות ספציפית למופע, מכיוון שהם מכילים נתונים ספציפיים לכל אובייקט. לדוגמה, משתני מופע המאחסנים ערכים ייחודיים עבור כל אובייקט.

יעילות זיכרון

סטָטִי: חברים סטטיים צורכים זיכרון פעם אחת בלבד, ללא קשר למספר המופעים שנוצרו. הם יכולים להיות יעילים בזיכרון כאשר יש לשתף את אותם נתונים בין כל האובייקטים.