Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Java حول طريقة إستدعاء متغير من السوبر كلاس في جافا

في المثال التالي قمنا بتعريف كلاس إسمه A يحتوي على متغير إسمه x.
بعدها قمنا بإنشاء كلاس إسمه B يرث من الكلاس A و يحتوي على متغير إسمه x, و دالة إسمها printBoth() تطبع قيمة x الموجود في A و قيمة x الموجود في B بطريقتين.

بعدها قمنا بإنشاء الكلاس Main لتجربة الكود.

A.java
public class A {
 
    public int x = 5;
 
}

B.java
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 هنا سيتم عرض قيمة الـ
    }

}

Main.java
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