A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李志广 中级黑马   /  2012-7-2 16:21  /  1733 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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());
        
        }
        
}

6 个回复

倒序浏览
程序能运行,没错误。
回复 使用道具 举报
程序是没错的  你是想玩多态吧   建议你去看看毕老师的视频  觉得你的代码有点纠结
回复 使用道具 举报
这个程序就是毕老师讲课的例子啊!没有问题,估计是你的配置不对,好好检查下
回复 使用道具 举报
程序运行正常,下面是截图,你想实现什么功能啊?
回复 使用道具 举报
这个没错,你是想用多态么?
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();来调用了
回复 使用道具 举报
呵呵,谢谢你们!看来真是细节决定成败啊!电脑配置有点问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马