通过接口类型变量引用实现接口的类的对象来实现:
/**
*java实现多态性简单分析2,通过将类B和类C的实例赋给接口引用a而实现了方法在运行时的动态绑定
*@author zhangliqiang
*/
interface A
{
void fun();
}
class B implements A
{
public void fun()
{
System.out.println("this is B class!");
}
}
class C implements A
{
public void fun()
{
System.out.println("this is C class!");
}
}
class duotai2
{
public static void main(String arg[])
{
A a;
a=new B();
a.fun();
a=new C();
a.fun();
}
}
运行结果:
this is B class
this is C class
通过接口的一个引用变量,根据实际引用的类的实例来判断引用那个方法。以上就是通过将类B和C的实例赋给a来实现方法的动态绑定。