Java حول طريقة إستدعاء متغير من السوبر كلاس في جافا
في المثال التالي قمنا بتعريف كلاس إسمه A
يحتوي على متغير إسمه x
.
بعدها قمنا بإنشاء كلاس إسمه B
يرث من الكلاس A
و يحتوي على متغير إسمه x
, و دالة إسمها printBoth()
تطبع قيمة x
الموجود في A
و قيمة x
الموجود في B
بطريقتين.
بعدها قمنا بإنشاء الكلاس Main
لتجربة الكود.
public class A { public int x = 5; }
public class B extends A { // A يرث من الكلاس B هنا قلنا أن الكلاس public int x = 20; // مع وضع قيمة مختلفة له A هنا قمنا بتعريف نفس المتغير الموجود في الكلاس public void printBoth() { // عند استدعاء هذه الدالة سيتم عرض الأشياء التالية System.out.println("x in B contain: " +x); // B الموجودة في الكلاس x هنا سيتم عرض قيمة الـ System.out.println("x in B contain: " +this.x); // B الموجودة في الكلاس x هنا سيتم عرض قيمة الـ System.out.println("x in A contain: " +super.x); // A الموجودة في الكلاس x هنا سيتم عرض قيمة الـ } }
public class Main { public static void main(String[] args) { B b = new B(); // منه printBoth() من أجل إستدعاء الدالة B هنا قمنا بإنشاء كائن من الكلاس b.printBoth(); // هنا قمنا باستدعائها } }
سنحصل على النتيجة التالية عند التشغيل.
x in B contain: 20 x in B contain: 20 x in A contain: 5