黑马程序员技术交流社区

标题: 菜鸟:到底哪错了? [打印本页]

作者: 李志广    时间: 2012-7-2 16:21
标题: 菜鸟:到底哪错了?
本帖最后由 007lzg 于 2012-7-2 18:12 编辑

abstract class Student
{
        public abstract void study();
        public void sleep()
                {
                System.out.println("躺着睡觉");
                }

}
class DoStudent
{
        public  void doSome(Student stu)
                {
                stu.study();
                stu.sleep();
                }
}
class BaseStudent extends Student
{
        public void study()
                {
                System.out.println("base study");
                }
                public void sleep()
                        {
                        System.out.println("坐着睡觉");
                        }
}

class AdvanceStudent extends Student
{
        public void study()
                {
                System.out.println("advance study");

                }
}


class DuoTaiDemo2
{
        public static void main(String[] args)
        {
        DoStudent ds=new DoStudent();
        ds.doSome(new BaseStudent());
        ds.doSome(new AdvanceStudent());
        
        }
        
}
作者: 车风波    时间: 2012-7-2 16:35
程序能运行,没错误。
作者: 蒋映辉    时间: 2012-7-2 16:37
程序是没错的  你是想玩多态吧   建议你去看看毕老师的视频  觉得你的代码有点纠结
作者: 尹善波    时间: 2012-7-2 16:45
这个程序就是毕老师讲课的例子啊!没有问题,估计是你的配置不对,好好检查下
作者: 赵庆礼    时间: 2012-7-2 17:35
程序运行正常,下面是截图,你想实现什么功能啊?

作者: 程有愿    时间: 2012-7-2 17:55
这个没错,你是想用多态么?
class DuoTaiDemo2
{
        public static void main(String[] args)
        {
        Student a=new BaseStudent();
          a.sleep();
     BaseStudent  b=(BaseStudent)a;
         b.sleep();
        ds.doSome(new BaseStudent());
        ds.doSome(new AdvanceStudent());
        
        }
        
}
上面2句的运行结果一样,如果BaseStudent有另一个特有方法ziXi(){};
那么就可以通过  b.ziXi();来调用了
作者: 李志广    时间: 2012-7-2 18:13
呵呵,谢谢你们!看来真是细节决定成败啊!电脑配置有点问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2