java中Abstract class 的运用有点像C++里的多态运用.
下面是一小段灵活运用Abstract class的例子
abstract class Actor
{
abstract void act();
}
class HappyActor extends Actor
{
public void act()
{
System.out.println("HappyActor");
}
}
class SadActor extends Actor
{
public void act()
{
System.out.println("SadActor");
}
}
class Stage
{
Actor a=new HappyActor();
void change(){a=new SadActor();}
void go()
{
a.act();
}
}
public class PolymorphicTest
{
public static void main(String[]args)
{
Stage s=new Stage();
s.go();
s.change();
s.go();
}
}
输出结果:
HappyActor
SadActor