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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 佛山java爱好者 中级黑马   /  2014-7-21 21:22  /  1300 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//员工包含三个属性:姓名,id,工资,经理也是员工,除了包含员工的属性外,还有一个奖金属性,请使用继思想设计出员工和经理类,要求类中提供必要的方法
class Employee
{
        private String name;
        private String id;
        private double pay;

        Employee(String name,String id,double pay)
        {
          this.name=name;
          this.id=id;
          this.pay=pay;
        }
        public abstract void work();
}

class Manager extends Employee
{
        private int bonus;
        Manager(String name,String id,double pay,int bonus)
        {
           super(name,id,pay);
           this.bonus=bonus;
        }
        public void work()
        {
          System.out.println("manager work");
        }
}

class pro extends Employee
{
        pro(String name,String id,double pay)
        {
           super(name,id,pay);
        }
        public void work()
        {
           System.out.println("pro work");
        }
}

class  workerDemo
{
        public static void main(String[] args)
        {
                System.out.println("Hello World!");
        }
}

编译时候提示Employee不是抽象的,不能覆盖抽象work()方法,是哪里出问题啦?

4 个回复

倒序浏览
这...这明显是因为定义Employee这个类的时候没有加abstract修饰嘛,在第一句代码class Employee的前面加上abstract(也就是abstract class Employee)应该就行了吧?
回复 使用道具 举报
这个是考试题么
回复 使用道具 举报
在class Employee之前加个abstract就行了,你的代码太不规范了,好好学学代码规范吧
回复 使用道具 举报
因为类中有抽象函数的时候,它的本身的这个类也必须是抽象的.也就是说一个类里面如果有abstract来修饰方法,这个类前面也必须有abstract,所以楼主你把class Employee前面加上abstract就行了
还有我记得你这个代码少写了一个Manager类吧.
class Manager extends Employee
{
        Manager(String name,String id,double money,double bouns)
        {
                super(name,id,money);
                this.bouns = bouns;
        }
        public void work()
        {
                System.out.println("Manager Work");
        }
}
class pro extends Manager
{
        pro(String name,String id,double money)
        {
                super(name,id,money);
        }
        public void work()
        {
                System.out.println("pro Work");
        }
}
类pro不是继承employee而是继承manager类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马