class A {void a(int x,int y){System.out.println(x+y);}void a2(int x,double y){System.out.println(x+(int)y);}}class B extends A {@Overridevoid a2(int x,double y){System.out.println(x+(int)y+4);}publicclassTest{publicstaticvoid main(String[] args){
A b=new B();
b.a2(2,2.0);}
النتيجة تكون 8
اي الميثود من بي تم استدعاؤها
في الواقع انا لا اعرف كيف اصيغ السؤال جيدا لكن ساحاول
اليس الكود بالاعلى هو overloading ؟؟؟؟
لو لم يكن كذلك فما هو ولما هو ليس كذلك ؟؟؟؟
وان كان كذلك فكيف تم استدعاء الميثود في B
لان ال overloading is a static binding
وايضا ال compiler لا يعرف ما هو الشيء الذي يشير اليه b في ال compile time حسب علمي
ولماذا ال overloading هو static binding في الاساس لانه حتى لو كان هنالك overloading في بعض الحالات يمكنني ان اقوم ب overriding لل overloaded method
وايضا شيء اخر
من اي مكان يتم اخذ الميثود المراد استدعاؤها
من ال object ام من ال method area
لانه حسب علمي يتم تحويل الجافا فايل الى كلاس فايل وبعدها يتم انشاء كود مطابق للكود الذي في الكلاس فايل ووضعه في ال method area
وهذا يعني ان الميثود المكتوبة في الكلاس تقريبا يتم نقلها لل method area صحيح ؟؟؟؟
رجاء لو لم تفهم اي شيء من السؤال قل لي لكي احاول ان اصيغه بطريقة افضل (;
السؤال
Freshlybaked Chocolatechip
لدي الكود بالاسفل
النتيجة تكون 8
اي الميثود من بي تم استدعاؤها
في الواقع انا لا اعرف كيف اصيغ السؤال جيدا لكن ساحاول
اليس الكود بالاعلى هو overloading ؟؟؟؟
لو لم يكن كذلك فما هو ولما هو ليس كذلك ؟؟؟؟
وان كان كذلك فكيف تم استدعاء الميثود في B
لان ال overloading is a static binding
وايضا ال compiler لا يعرف ما هو الشيء الذي يشير اليه b في ال compile time حسب علمي
ولماذا ال overloading هو static binding في الاساس لانه حتى لو كان هنالك overloading في بعض الحالات يمكنني ان اقوم ب overriding لل overloaded method
وايضا شيء اخر
من اي مكان يتم اخذ الميثود المراد استدعاؤها
من ال object ام من ال method area
لانه حسب علمي يتم تحويل الجافا فايل الى كلاس فايل وبعدها يتم انشاء كود مطابق للكود الذي في الكلاس فايل ووضعه في ال method area
وهذا يعني ان الميثود المكتوبة في الكلاس تقريبا يتم نقلها لل method area صحيح ؟؟؟؟
رجاء لو لم تفهم اي شيء من السؤال قل لي لكي احاول ان اصيغه بطريقة افضل (;
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.