本帖最后由 郑庆伟 于 2012-6-25 20:18 编辑
/*
基础班学生:
学习,睡觉。
高级班学生:
学习,睡觉。
可以将这两类事物进行抽取。
*/
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");
}
}
class AdvStudent extends Student
{
public void study()
{
System.out.println("adv study");
}
public void sleep()
{
System.out.println("坐着睡");
}
}
class DoStudent
{
public void doSome (Student stu)
{
stu.study();
stu.sleep();
}
}
class DuoTaiDemo3
{
public static void main(String[] args)
{
DoStudent ds = new DoStudent();
ds.doSome(new BaseStudent);//这一句是简写的,分开写是什么样子的?
/*Student s = new BaseStudent();
BaseStudent bs =(BaseStudent)s;
bs.doSome();
AdvStudent as = new AdvStudent();
as.study();
as.sleep();*/
}
}
对前面学的一些内容有点模糊 ds.doSome(new BaseStudent);为什么要这么写?
|