我们说一下多态的应用。
abstract class Student
{
public abstract void study();
public void sleep()
{
System.out.println("躺着睡");
}
}
class BaseStudent extends Student
{
public void study()
{
System.out.println("Base study");
}
public void sleep()
{
System.out.println("坐着睡");
}
}
class AdvStudent extends Student
{
public void study()
{
System.out.println("Adv study");
}
}
class DoStudent
{
public void doSome(Student stu)
{
stu.study();
stu.sleep();
}
}
class DuoTaiDemo
{
public static void main(String[ ] args)
{
/*BaseStudent bs=new BaseStudent();
bs.study();
bs.sleep();
AdvStudent as=new AdvStudent();
as.study();
as.sleep();*/
DoStudent ds=new DoStudent();
ds.doSome(new BaseStudent());
ds.doSome(new AdvStudent());
}
}
我们写了一个这个代码,然后运行结果如图。
这个程序需要这个DoStudent和Student这两个类就可以运行其实,只不过其他都是后面出现的,多态将对象调用变简单了,我们找到了这些对象的共同所属类型。