1.第10章实做程序,教材P124 第1题:

针对第9章实做程序3中定义的Worker类进行修改,增加TableInfo类的对象属性table,相应的修改构造方法和置取方法,并修改display方法显示table对象的形状。设计测试类Main,创建TableInfo类的对象和一个Worker类的对象,调用Worker类的display方法显示工人和桌子的信息。
程序输出结果如下:
工人姓名:张工
工人年龄:25
工人工资:6000
工人级别:初级
张工拥有一张圆形的桌子
注意:最后一行输出语句中的张工和圆形都是变量。

  1. class TableInfo{
  2. private String tshape;
  3. private Worker owne;
  4. public TableInfo(String tshape){
  5. this.tshape=tshape;
  6. }
  7. public void setOwne(Worker owne){
  8. this.owne=owne;
  9. }
  10. public Worker getOwne(){
  11. return owne;
  12. }
  13. public String getTshape(){
  14. return tshape;
  15. }
  16. public void print(){
  17. owne.display();
  18. //System.out.println("""我的桌子:"+tshape);
  19. }
  20. }
  21. class Worker{
  22. private String name;
  23. private int age;
  24. private int salary;
  25. private String level;
  26. private TableInfo table;
  27. public Worker(String name,int age,int salary,String level,TableInfo table){
  28. this.name=name;
  29. this.age=age;
  30. this.salary=salary;
  31. this.level=level;
  32. this.table=table;
  33. this.table.setOwne(this);
  34. }
  35. public int getSalary(){
  36. return salary;
  37. }
  38. public String getName(){
  39. return name;
  40. }
  41. public void display(){
  42. System.out.println("工人姓名:"+name);
  43. System.out.println("工人年龄:"+age);
  44. System.out.println("工人工资:"+salary);
  45. System.out.println("工人级别:"+level);
  46. }
  47. }
  48. public class Main{
  49. public static void main(String [] args){
  50. TableInfo table=new TableInfo("圆形");
  51. Worker man=new Worker("张工",25,6000,"初级",table);
  52. table.print();
  53. System.out.println(man.getName()+"拥有一张"+table.getTshape()+"的桌子");
  54. }
  55. }