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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 施祖喜 中级黑马   /  2013-4-29 23:07  /  1851 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 施祖喜 于 2013-4-30 18:17 编辑

求解释,找了好久没找出这两个错误的原因     代码在一楼

QQ截图20130429230607.png (12.32 KB, 下载次数: 4)

QQ截图20130429230607.png

评分

参与人数 1技术分 +1 收起 理由
HM汪磊 + 1

查看全部评分

9 个回复

倒序浏览
  1. class AbstractEmployee{
  2.         public static void main(String[] args) {
  3.                 Programmer P=new Programmer("张三",8888888,20000);
  4.                 P.work();
  5.                 P.speak();
  6.                 Manager M =new Manager("李四",888888,333333333,50000);
  7.                 M.work();
  8.                 M.speak();
  9.         }
  10. }
  11. /*雇员(Employee)示例:
  12. 需求:公司中程序员(programmer)有姓名(name),工号(id),薪水(pay),工作内容(work)。
  13. 项目经理(Manager)除了有姓名(name),工号(id),薪水(pay),还有奖金(bonus),工作内容(work)。
  14. 对给出需求进行数据建模。*/
  15. abstract class Employee{
  16.         String name;
  17.         int id;
  18.         double pay;
  19.         public abstract void work();
  20.         Employee(){}
  21.         Employee(String name,int id,double pay){
  22.                 this.name = name;
  23.                 this.id = id;
  24.                 this.pay = pay;
  25.         }
  26.         public void speak(){
  27.                 System.out.println(name+"  "+id+"号"+pay+"元");
  28.         }
  29. }
  30. class Programmer extends Employee{
  31.         public void work(){
  32.                 System.out.println("按照上级要求敲出代码");
  33.         }
  34.         Programmer(){}
  35.         Programmer(String name,int id,double pay){
  36.                 super(name,id,pay);
  37.         }
  38. }
  39. class Manager{
  40.         double bonus;
  41.         public void work(){
  42.                 System.out.println("分析需求,给程序员下达任务");
  43.         }
  44.         Manager(){}
  45.         Manager(String name,int id,double pay,double bonus){
  46.                 super(name,id,pay);
  47.                 this.bonus=bonus;
  48.         }

  49. }
复制代码
回复 使用道具 举报
贴代码 只看这个不知道在干啥
回复 使用道具 举报
刘凯 发表于 2013-4-29 23:22
贴代码 只看这个不知道在干啥

额   说了  代码在沙发啊   我发的时候贴不上就回复在沙发了
回复 使用道具 举报
施祖喜 发表于 2013-4-29 23:24
额   说了  代码在沙发啊   我发的时候贴不上就回复在沙发了

因为你的Manager没有继承Employee  
忘了吧是  没有父类 哪来的super(name,id,pay);
楼主需细心呀

评分

参与人数 1黑马币 +12 收起 理由
陈志强 + 12 赞一个!

查看全部评分

回复 使用道具 举报
  1. class Manage extends Employeer{
  2.         double bonus;
  3.         public void work(){
  4.                 System.out.println("分析需求,给程序员下达任务");
  5.         }
  6.         Manager(){}
  7.         Manager(String name,int id,double pay,double bonus){
  8.                 super(name,id,pay);
  9.                 this.bonus=bonus;
  10.         }
复制代码
没有继承Employee这个父类···你是木有办法调用父类的构造函数和方法的·····

评分

参与人数 1技术分 +1 收起 理由
HM汪磊 + 1

查看全部评分

回复 使用道具 举报
你的Manager类没有继承抽象类呀!肯定会出现错误了
回复 使用道具 举报
xiewen 中级黑马 2013-4-30 16:53:03
8#
就是Manager类没有继承Employee类,所以没有父类的构造方法super(name,id,pay);
回复 使用道具 举报
刘凯 发表于 2013-4-29 23:30
因为你的Manager没有继承Employee  
忘了吧是  没有父类 哪来的super(name,id,pay);
楼主需细心呀 ...

额   是粗心了 这个毛病还是犯了 呵呵
回复 使用道具 举报
邹晓慧 发表于 2013-4-29 23:32
没有继承Employee这个父类···你是木有办法调用父类的构造函数和方法的····· ...

呵呵  同学谢谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马