logo

מילת מפתח סופית ב-Java

  1. משתנה סופי
  2. שיטה סופית
  3. שיעור אחרון
  4. האם השיטה הסופית עוברת בירושה?
  5. משתנה סופי ריק
  6. משתנה סופי ריק סטטי
  7. פרמטר סופי
  8. האם אתה יכול להכריז על בנאי סופי

ה מילת מפתח סופית ב-java משמש להגבלת המשתמש. מילת המפתח הסופית Java יכולה לשמש בהקשרים רבים. סופי יכול להיות:

  1. מִשְׁתַנֶה
  2. שיטה
  3. מעמד

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

fizzbuzz java
מילת מפתח סופית ב-java

1) משתנה ג'אווה סופי

אם אתה הופך משתנה כלשהו לסופי, אתה לא יכול לשנות את הערך של המשתנה הסופי (הוא יהיה קבוע).

דוגמה למשתנה סופי

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

 class Bike9{ final int speedlimit=90;//final variable void run(){ speedlimit=400; } public static void main(String args[]){ Bike9 obj=new Bike9(); obj.run(); } }//end of class 
בדוק את זה עכשיו
 Output:Compile Time Error 

2) השיטה הסופית של Java

אם תהפוך שיטה כלשהי לסופית, לא תוכל לעקוף אותה.

דוגמה לשיטה סופית

 class Bike{ final void run(){System.out.println('running');} } class Honda extends Bike{ void run(){System.out.println('running safely with 100kmph');} public static void main(String args[]){ Honda honda= new Honda(); honda.run(); } } 
בדוק את זה עכשיו
 Output:Compile Time Error 

3) שיעור גמר ג'אווה

אם תגדיר כל שיעור כסופי, לא תוכל להאריך אותו.

דוגמה לשיעור סופי

 final class Bike{} class Honda1 extends Bike{ void run(){System.out.println('running safely with 100kmph');} public static void main(String args[]){ Honda1 honda= new Honda1(); honda.run(); } } 
בדוק את זה עכשיו
 Output:Compile Time Error 

ש) האם השיטה הסופית עוברת בירושה?

תשובה) כן, השיטה הסופית עוברת בירושה אבל אתה לא יכול לעקוף אותה. לדוגמה:

 class Bike{ final void run(){System.out.println('running...');} } class Honda2 extends Bike{ public static void main(String args[]){ new Honda2().run(); } } 
בדוק את זה עכשיו
 Output:running... 

ש) מהו משתנה סופי ריק או לא מאותחל?

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

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

המרת מחרוזת למספר שלם

ניתן לאתחל אותו רק בקונסטרוקטור.

דוגמה למשתנה סופי ריק

 class Student{ int id; String name; final String PAN_CARD_NUMBER; ... } 

שאלה) האם נוכל לאתחל משתנה סופי ריק?

כן, אבל רק בקונסטרוקטור. לדוגמה:

 class Bike10{ final int speedlimit;//blank final variable Bike10(){ speedlimit=70; System.out.println(speedlimit); } public static void main(String args[]){ new Bike10(); } } 
בדוק את זה עכשיו
 Output: 70 

משתנה סופי ריק סטטי

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

דוגמה למשתנה סופי ריק סטטי

 class A{ static final int data;//static blank final variable static{ data=50;} public static void main(String args[]){ System.out.println(A.data); } } 

ש) מהו פרמטר סופי?

אם אתה מכריז על פרמטר כלשהו כסופי, לא תוכל לשנות את ערכו.

 class Bike11{ int cube(final int n){ n=n+2;//can't be changed as n is final n*n*n; } public static void main(String args[]){ Bike11 b=new Bike11(); b.cube(5); } } 
בדוק את זה עכשיו
 Output: Compile Time Error 

ש) האם נוכל להכריז על קונסטרוקטור סופי?

לא, כי הקונסטרוקטור לעולם לא עובר בירושה.