logo

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

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

מהי שיטה סטטית?

א שיטה סטטית שייך למחלקה ולא לכל אובייקט ספציפי.

  • ניתן לקרוא מבלי ליצור מופע של המחלקה.
  • מכיוון ששיטות סטטיות הן ספציפיות לכל אובייקט, הן יכולות לגשת רק לאברים סטטיים (נתונים ושיטות) ואינן יכולות לגשת לאיברים לא סטטיים.
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

תְפוּקָה
Hello Geek! Hello Geek! 

הֶסבֵּר: הדוגמה שלמעלה מציגה שיטה סטטית greet() בתוך המחלקה Geeks שניתן לקרוא לשיטות סטטיות מבלי ליצור אובייקט. בשיטה הראשית אנחנו לא יוצרים אובייקט של מחלקה Geek אנחנו קוראים למתודה ישירות בשם המחלקה שהוא Geeks ואז אנחנו מדפיסים את הפלט.



מהי שיטת מופע?

א שיטת מופע שייך לחפץ.

  • צריך ליצור מופע של הכיתה להתקשרות.
  • יכול לגשת למשתני מופע לשיטות מופע אחרות וחברים סטטיים של המחלקה.
  • יש גישה ל thisהַפנָיָה מה שמצביע על האובייקט הנוכחי.
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

תְפוּקָה
GeeksforGeeks 

הֶסבֵּר: הדוגמה לעיל מראה כיצד להשתמש בשיטת מופע ב-Java. אנו יוצרים אובייקט של מחלקת Test וקוראים לשיטת הבדיקה כדי להגדיר ערך ואז אנו מדפיסים את הפלט.

ההבדל בין שיטה סטטית לשיטת מופע

הטבלה הבאה מפרטת את  הבדלים עיקריים בין השיטות הסטטיות לשיטות המופע ב-Java.

תכונות

שיטה סטטית

דוגמה לשם משתמש

שיטת מופע

הַגדָרָה

נוצר באמצעות מילת המפתח הסטטית ואחזר מבלי ליצור אובייקט.

דורש להפעיל אובייקט מהמחלקה שלו.

גִישָׁה

טופל פיתון ממוין

גישה למשתנים ושיטות סטטיים בלבד.

יכול לגשת לחברים סטטיים וגם לחברי מופע.

this מילת מפתח

לא ניתן להשתמש ב זֶה מילת מפתח בתוך שיטות סטטיות.

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

ביטול

חיפוש ליניארי ב-java

אינו תומך בפולימורפיזם בזמן ריצה

תומך בפולימורפיזם בזמן ריצה

הקצאת זיכרון

נטען פעם אחת בכיתה

לכל חפץ יש עותק משלו


צור חידון