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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lucy198921 中级黑马   /  2013-3-26 21:16  /  1065 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lucy198921 于 2013-3-27 10:30 编辑

代码报错,求正解带注释.

/*
        一个公司  有程序员  经历


        描述程序员
                姓名  年龄  工号  工资  编程的功能

        描述经理
                姓名 年龄 工号  工资  奖金  指挥功能
        */
abstract class Company  //定义 抽象 类
        {
        private String name;   //私有
        private String number;
        private         double salary;
        private int age;
Company(String name,String number,double salary,int age)   
                {
                this.name =name;
                this.number =number;
                this.salary =salary;
                 this.age =age;
                }
        public String getName()
                {
                return name ;
                }
        public String getNumber()
                {
                return number ;
                }
        public double getSalary()
                {
                return salary ;
                }
        public int getAge()
                {
                return age;
                }
        public abstract  void job();
        }


        class Manager extends Company   
        {
                private  double  bonus;
                Manager(String name,String number,double salary,int age,double  bonus)
                {
                super(name,number,salary,age);   //调用父类的成员变量
                this.bonus=bonus;
                }

                public void job()
                {
                        System.out.println(getName+"..."+getNumber+"...."+getSalary+"..."+bonus+"的经理在指挥");

                }
                }

                        class Programmer extends Company
        {

                Programmer(String name,String number,double salary,int age)
                {
                super(name,number,salary,age);
        
                }

                public void job()
                {
                        System.out.println(getName+"..."+getNumber+"...."+getSalary+"..."+"的程序员在编译");

                }
                }


        class AbstractTest
        {
                public static void main(String[] args)
                {
               
                        Manager m =new Manager("张三","管理部001",5000,40,15000);
                        m.job();

                        Programmer p =new Programmer("李四","业务部001",15000,25);
                        m.job();
                }
        }

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

2 个回复

倒序浏览
  1. ……………………
  2. class Programmer extends Company {

  3.         Programmer(String name, String number, double salary, int age) {
  4.                 super(name, number, salary, age);

  5.         }

  6.         public void job() {
  7.                 System.out.println(getName() + "..." + getNumber() + "...." + getSalary()
  8.                                 + "..." + "的程序员在编译");//调用方法要加上括号

  9.         }
  10. }

  11. class AbstractDemo {
  12.         public static void main(String[] args) {

  13.                 Manager m = new Manager("张三", "管理部001", 5000, 40, 15000);
  14.                 m.job();

  15.                 Programmer p = new Programmer("李四", "业务部001", 15000, 25);
  16.                 p.job();//原来的代码是m.job();你应该不是这个意思吧
  17.         }
  18. }
  19. ……………………
复制代码
输出:

张三...管理部001....5000.0...15000.0的经理在指挥
李四...业务部001....15000.0...的程序员在编译

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
楼主,你复写job方法时调用父类的函数要写括号呀
System.out.println(getName()+"..."+getNumber()+"...."+getSalary()+"..."+"的程序员在编译");
  System.out.println(getName()+"..."+getNumber()+"...."+getSalary()+"..."+bonus+"的经理在指挥");改这两个就可以通过了呢,你试试

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1 新人加油

查看全部评分

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