הבדל בין סטטי לסופי ב-Java

תוכן עניינים:

הבדל בין סטטי לסופי ב-Java
הבדל בין סטטי לסופי ב-Java

וִידֵאוֹ: הבדל בין סטטי לסופי ב-Java

וִידֵאוֹ: הבדל בין סטטי לסופי ב-Java
וִידֵאוֹ: what is the diff between static and final in java 2024, נוֹבֶמבֶּר
Anonim

הבדל מפתח - סטטי לעומת סופי ב-Java

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

מה זה סטטי ב-Java?

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

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

איור 01: תוכנית Java עם משתנים סטטיים ושיטה סטטית

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

ההבדל בין סטטי לסופי ב-Java_Figure 02
ההבדל בין סטטי לסופי ב-Java_Figure 02

איור 02: שימוש בבלוק סטטי

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

מה זה סופי ב-Java?

בתוכנית יכולים להיות משתנים מסוגים שונים. אם יש משתנה כמו int x=1; בהמשך התוכנית, ניתן לשנות את ערך המשתנה הזה לערך אחר. לא ניתן לשנות משתנה שהוכרז כסופי ואותחל עם ערך מאוחר יותר בתוכנית.

ההבדל בין סטטי לסופי ב-Java_Figure 03
ההבדל בין סטטי לסופי ב-Java_Figure 03

איור 03: תוכנית עם משתנה אחרון וירושה

לפי התוכנית לעיל, x הוא משתנה סופי. הוא מוקצה ערך 5. לא ניתן לשנות אותו ערך אחר משום שהוא מוכרז כסופי. Java תומכת בתכנות מונחה עצמים (OOP). אחד העמודים של OOP הוא פולימורפיזם. סוג אחד של פולימורפיזם הוא מכריע. לכיתה A יש את שיטת התצוגה. המחלקה B מרחיבה את המחלקה A ויש לה שיטת תצוגה משלה. בעת יצירת אובייקט מסוג B וקריאה לשיטת התצוגה תדפיס "B" כפלט. שיטת התצוגה של מחלקה A עוקפת את שיטת התצוגה של מחלקה B.

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

ההבדל בין סטטי לסופי ב-Java_Figure 04
ההבדל בין סטטי לסופי ב-Java_Figure 04

איור 04: מילת מפתח אחרונה בשיטה

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

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

איור 05: מילת מפתח אחרונה בכיתה

לפי התוכנית לעיל, כיתה א' מוכרזת כסופית. כאשר מחלקה B מרחיבה את A, היא נותנת שגיאה כי מחלקה A מוכרזת כסופית. זה לא יכול לעבור בירושה על ידי מחלקות אחרות.

מהו הדמיון בין סטטי לסופי ב-Java?

הן סטטיות והן סופיות הן מילות מפתח ב-Java

מה ההבדל בין סטטי לסופי ב-Java?

סטטי לעומת גמר ב-Java

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

סיכום – סטטי לעומת סופי ב-Java

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

מוּמלָץ: