我有一个包含1个父类和多个子类的程序。所有子类都具有相同的方法名称,但功能不同。我希望能够从特定的类中调用该方法。例如

class A
{
 public void doABC()
  {
    //do something;
    //call Class B's method didABC;
    //call Class C's method didABC }
}

class B extends A
{
  public void didABC()
  {
    //does something;
  }
}

class C extends A
{
  public void didABC()
  {
    //does something;
  }
}


我希望能够在需要时调用B类的didABC和C类的didABC。我该怎么做?

最佳答案

只需创建子类的实例并在其上调用方法。

呼叫B类的didABC:

B b = new B();
b.didABC();


调用C类的didABC:

C c = new C();
c.didABC();


您可以将子类的对象保留在父类引用中,并使用该引用来调用方法。父类将保存的任何类对象都将简单地调用该类方法。

A a = new A();
a.didABC(); // class A method will be called
a = new B();
a.didABC(); // class B method will be called
a = new C();
a.didABC(); // class C method will be called

07-24 09:24