在浏览了一些关于多态的问题之后,似乎多态是 Java 中的一个通用概念,它允许一个对象表现得好像它是另一个类的实例一样;因此代码更独立于具体类。考虑到这个想法,下面的方法调用中的两个方法调用main()
是多态性吗?
abstract class A
{
void f() { System.out.println("A.f()"); }
abstract void g();
}
class B extends A
{
void g() { System.out.println("B.g()"); }
}
public class Test
{
public static void main(String[] args)
{
A a = new B();
a.f(); // Is this an example of Polymorphism?
a.g(); // ...
}
}
输出是:
A.f();
B.g();