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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a8851625 中级黑马   /  2014-10-16 02:03  /  1505 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();          //我看毕老师的编译能通过,我编译就提示doSome缺少方法主体,或声明抽象。还有就是这个工具类我也不太懂他的意思!
        }
}


class DuoTaiDemo3
{
        public static void main(String[] args)
        {
                DoStudent ds=new DoStudent();
                ds.doSome(new BaseStudent());


                //BaseStudent bs=new BaseStudet();
                //bs.study();
                //bs.sleep();
                //AdvStudent as=new AdvStudent();
                //as.study();
                //as.sleep();
               
        }
        
}

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 细节决定成败

查看全部评分

5 个回复

正序浏览
这个是多态的,至于错误,楼上兄弟们的都给你指出了。工具类的目的是让你传一个Student类型的引用进去,让该类对象做具体的事儿,也就是让具体的对象,要么是AdvStudent的具体对象,要么是BaseStudent的具体对象,多态不怎么好理解,兄弟,加油
回复 使用道具 举报
多谢各位指点啊,晕,一天看太久了脑子混了。。。竟然犯这种错误。。。!!!!
以后会注意的,多谢各位了!
回复 使用道具 举报
代码编写的疏忽,以后得多多注意了
回复 使用道具 举报
public void doSome(Student stu); {stu.study();           //就是对这个地方不理解啊}在这里多了个分号,所以提示doSome没有方法主体
回复 使用道具 举报 1 0
兄弟,你多加了个分号

        public void doSome(Student stu);  <----------------这里多了分号
        {
               
                stu.study();           //就是对这个地方不理解啊。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马