当一个类有很多子类是,并且这些子类都重写了父类中的某个实例方法。当我们把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上传型对象,那么这个上传型对象在调用这个实例方法时就可能具有多种形态。
多态性就是指父类中某个实例方法被其子类重写时,可以各自产生自己的功能行为。
class duotai
{
public static void main(String [] agrs)
{
USB a1 = new MouseUSB();//多态!
USB a2 = new KeyBroadUSB();
USB a3 = new PrinterUSB();
USB a4 = new USB();
a1.Input();
a2.Input();
a3.Input();
a4.Input();
}
}
class USB
{
public void Input()
{
System.out.println("插入USB设备");
}
public void Output()
{
System.out.println("拔出USB设备");
}
}
class MouseUSB extends USB
{
public void Input()
{
System.out.println("插入MouseUSB设备");
}
public void Output()
{
System.out.println("拔出MouseUSB设备");
}
}
class KeyBroadUSB extends USB
{
public void Input()
{
System.out.println("插入KeyBroadUSB设备");
}
public void Output()
{
System.out.println("拔出KeyBroadUSB设备");
}
}
class PrinterUSB extends USB
{
public void Input()
{
System.out.println("插入PrinterUSB设备");
}
public void Output()
{
System.out.println("拔出PrinterUSB设备");
}
}