logo

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

ה 'זֶה' וה ' סוּפֶּר' מילות מפתח הן מילים שמורות המשמשות בהקשר אחר. חוץ מזה, Java מספקת גם זֶה() ו סוּפֶּר() בנאים המשמשים בהקשר הבנאי. בחלק זה, נדון ב הבדלים בין מילת מפתח זו למילת מפתח העל ו בנאי זה() וסופר(), ב-Java.

סופר מילת מפתח ובנאי סופר().

סופר מילת מפתח

מילת מפתח שמורה המשמשת לקריאת שיטת ה-base class או המשתנה ידועה בשם a סוּפֶּר מילת מפתח. אנחנו לא יכולים להשתמש ב סוּפֶּר מילת מפתח בתור מזהה . מילת המפתח סופר משמשת לא רק להתייחסות למופע המעמד הבסיסי, אלא גם לחברים סטטיים.

מה זה svn checkout

super() Constructor

ה סוּפֶּר() משמש בעיקר להפעלת פונקציות ובנאים של חברי מחלקה בסיס.

בואו ניקח דוגמה לשניהם סוּפֶּר מילת מפתח ו סוּפֶּר() להבין איך הם עובדים.

SuperExample1.java

 // import required classes and packages package javaTpoint.MicrosoftJava; // create Animal class which is base class of Animal class Animal{ // data member of Animal class String color = 'white'; } // create child class of Animal class Cat extends Animal{ //default constructor Cat() { // data members of the Cat class String color = 'Brown'; System.out.println('The cat is of color '+super.color); // calling parent class data member System.out.println('The cat is of color '+color); } } // create child class for Car class SuperExample1 extendsCat { // default constructor SuperExample1() { // calling base class constructor super(); System.out.println('The eyes of the cat is blue.'); } // main() method start publicstaticvoid main(String[] args) { // call default constructor of the SuperExample1 new SuperExample1(); System.out.println('Inside Main'); } } 

תְפוּקָה:

זה לעומת סופר בג'אווה

בשיטת main() עשינו הצהרה new SuperExample1() . זה קורא לבנאי של דוגמא-על1 מעמד.

בתוך הקונסטרוקטור, עשינו הצהרה סוּפֶּר() שקורא לבנאי של מחלקת האב שלו, כלומר, חתול. בקונסטרוקטור, הצהרנו שלוש הצהרות:

  1. אתחול צבע עם ערך 'חום'.
  2. הדפס חבר נתוני כיתה אב.
  3. הדפס את חבר נתוני הכיתה הנוכחי.

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

לאחר ביצוע ההצהרה האחרונה של חתול class, הזרימה חוזרת לבנאי המחלקה דוגמא-על1 ומבצע את שאר ההצהרות.

לאחר השלמת ביצוע ה SuperExample1() , הזרימה חוזרת לשיטת main() ומבצעת את ההצהרות הנותרות.

הערה: כדי להשתמש ב-super(), עלינו לוודא שהוא אמור להיות ההצהרה הראשונה בבנאי של מחלקה. אנחנו יכולים להשתמש בו כדי להתייחס רק לבנאי מחלקות האב.

מילת המפתח הזו ובנאי() הזה

מילת מפתח זו

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

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

this() קונסטרוקטור

הבנאי משמש לקריאת בנאי אחד מהשני מאותה מחלקה. ניקח דוגמה לשניהם זֶה מילת מפתח ו זֶה() להבין איך הם עובדים.

ThisExample1.java

 // import required classes and packages package javaTpoint.MicrosoftJava; // create ThisExample1 class to understand the working of this() and this class ThisExample1 { // initialize instance and static variable int x = 5; staticinty = 10; // default constructor of class ThisExample1 ThisExample1() { // invoking current class constructor this(5); System.out.println('We are insie of the default constructor.'); System.out.println('The value of x = '+x); } ThisExample1(int x) { this.x = x; // override value of the current class instance variable System.out.println('We are inside of the parameterized constructor.'); System.out.println('The value of y = '+y); } publicstaticvoid main(String[] args) { // invoking constructor of the current class new ThisExample1(); System.out.println('Inside Main'); } } 

תְפוּקָה:

זה לעומת סופר בג'אווה

ההבדל בין מילת מפתח זו למילת מפתח סופר

הטבלה הבאה מתארת ​​את ההבדל העיקרי בין זה לסופר:

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

ההבדל בין הקונסטרוקטור הזה() לסופר().

זֶה() סוּפֶּר()
הבנאי this() מתייחס לאובייקט המחלקה הנוכחי. הבנאי super() מתייחס לאובייקט מחלקת האב המיידי.
הוא משמש להפעלת שיטת המחלקה הנוכחית. הוא משמש להפעלת שיטות מחלקות אב.
ניתן להשתמש בו בכל מקום בקונסטרוקטור בעל הפרמטרים. זו תמיד השורה הראשונה בבנאי כיתת הילד.
הוא משמש להפעלת גרסה סופר-קלאסית של שיטה שנדחתה. הוא משמש להפעלת גרסה סופר-קלאסית של שיטה שנדחתה.