文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>重载-动态方法调度

重载-动态方法调度

时间:2010-10-15  来源:add358

阐述动态方法调度的例子:
// Dynamic Method Dispatch
class A {
   void callme() {
     System.out.println("Inside A's callme method");
  }
}
 
class B extends A {
  // override callme()
  void callme() {
    System.out.println("Inside B's callme method");
  }
}
 
class C extends A {
  // override callme()
  void callme() {
    System.out.println("Inside C's callme method");
  }
}
 
class Dispatch {
  public static void main(String args[]) {
    A a = new A(); // object of type A
    B b = new B(); // object of type B
    C c = new C(); // object of type C
    A r; // obtain a reference of type A    
 
    r = a; // r refers to an A object
    r.callme(); // calls A's version of callme
 
    r = b; // r refers to a B object
    r.callme(); // calls B's version of callme
    r = c; // r refers to a C object
    r.callme(); // calls C's version of callme
  }
}
该程序的输出如下:
Inside A’s callme method
Inside B’s callme method
Inside C’s callme method
  !!被引用对象的类型(而不是引用变量的类型)决定执行哪个版本的重载方法。    
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载