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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© woaixuexi 中级黑马   /  2014-12-24 15:12  /  1072 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Employee  //员工
  2. {
  3.          String name;
  4.          String id;
  5.      double pay;
  6.         /* public Employee()
  7.         {
  8.          
  9.          }*/
  10.         public Employee(String name,String id,double pay)
  11.         {
  12.                 this.name = name;
  13.                 this.id = id;
  14.                 this.pay = pay;
  15.                 System.out.println("name is "+this.name);
  16.         System.out.println("id is "+this.id);
  17.                 System.out.println("pay is "+this.pay);
  18.         }
  19. }
  20. class Worker extends Employee
  21. {
  22.         public  Worker(String name,String id,double pay)// 抽象,
  23.         {   
  24.                 super(name,id,pay);   //继承的父类的
  25.                
  26.         }
  27.         public void biancheng()  //自己又定义一个方法,自己独有的方法
  28.         {
  29.                 System.out.println("编程");
  30.         }
  31. }


  32. class  Manager  extends Employee
  33. {
  34.         private double bonus;
  35.         public  Manager(String name,String id,double pay,double bonus)
  36.         {
  37.                 super(name,id,pay);
  38.                 this.bonus=bonus;
  39.                
  40.         }
  41.         public void guangli()
  42.     {
  43.                 System.out.println("管理");
  44.         }

  45. }
  46. class  Test03
  47. {
  48.         public static void main(String[] args)
  49.         {
  50.                
  51.                 Worker p = new Worker();
  52.                 p.name="lisi";    //怎么老是出现找不到符号的问题
  53.                 p.id="一组001";
  54.                 p.pay=5000;
  55.                 //p.Worker();
  56.                 p.biancheng();
  57.                
  58.                 Manager m = new Manager();
  59.                 m.name="李四 ";
  60.                 m.id="管理一班";
  61.                 m.pay=9000;
  62.                 //m.Manager();
  63.                 m.guangli();



  64.         }
  65. }
复制代码


老是出现找不到符号的问题,希望大家帮忙看下,感激不尽

5 个回复

倒序浏览
你确定Worker p = new Worker();能创建空参数的Worker类的对象?Worker类都没有定义空参数的构造函数。
回复 使用道具 举报
楼主的问题我也遇到过,错误会指向p.name中的name,
因为你Worker类中已经定义了一个Worker类的构造函数Worker(String name,String id,double pay)
可以直接通过Worker p = new Worker("LiSi","一组001",5000)来对你p进行成员变量的赋值

  1. class Employee  //员工
  2. {
  3.          String name;
  4.          String id;
  5.      double pay;
  6.         /* public Employee()
  7.         {
  8.          
  9.          }*/
  10.         public Employee(String name,String id,double pay)
  11.         {
  12.                 this.name = name;
  13.                 this.id = id;
  14.                 this.pay = pay;
  15.                 System.out.println("name is "+this.name);
  16.         System.out.println("id is "+this.id);
  17.                 System.out.println("pay is "+this.pay);
  18.         }
  19. }
  20. class Worker extends Employee
  21. {
  22.         public  Worker(String name,String id,double pay)// 抽象,
  23.         {   
  24.                 super(name,id,pay);   //继承的父类的
  25.                
  26.         }
  27.         public void biancheng()  //自己又定义一个方法,自己独有的方法
  28.         {
  29.                 System.out.println("编程");
  30.         }
  31. }


  32. class  Manager  extends Employee
  33. {
  34.         private double bonus;
  35.         public  Manager(String name,String id,double pay,double bonus)
  36.         {
  37.                 super(name,id,pay);
  38.                 this.bonus=bonus;
  39.                
  40.         }
  41.         public void guangli()
  42.     {
  43.                 System.out.println("管理");
  44.         }

  45. }
  46. class  Test03
  47. {
  48.         public static void main(String[] args)
  49.         {
  50.                
  51.                 Worker p = new Worker("LiSi","一组001",5000);

  52.         }
  53. }
复制代码



这样系统不会报错
回复 使用道具 举报
54行和61行,因为你自己定义的构造方法的时候需要接收参数,自定义构造方法会覆盖默认的不带参数的构造方法,所以你在创建对象的时候也要传入参数啊
回复 使用道具 举报
abathe 发表于 2014-12-24 16:44
楼主的问题我也遇到过,错误会指向p.name中的name,
因为你Worker类中已经定义了一个Worker类的构造函数Wo ...

太谢谢你了,受教了,刚开始学习,问题老多了
回复 使用道具 举报
Mr.Ni 发表于 2014-12-24 15:23
你确定Worker p = new Worker();能创建空参数的Worker类的对象?Worker类都没有定义空参数的构造函数。 ...

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