继承02.txt 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. 继承中类的成员访问的特点:
  2. 成员变量的特点:在子类的方法中访问一个变量,采用的叫就近原则。
  3. 最先在子类局部范围查找
  4. 然后在子类成员范围查找
  5. 最后在父类成员范围查找
  6. 直到都没有,就报错
  7. super关键字
  8. this指向的是当前的对象,【我】
  9. super指向的是当前对象的父类对象,【我爹】
  10. 使用this和super调用方法和变量
  11. 成员变量:
  12. this.成员变量 -访问本类对象的成员变量
  13. super.成员变量 -访问父类对象的成员变量
  14. 成员方法:
  15. this.成员方法 -访问本类对象的成员方法
  16. super.成员方法 -访问父类对象的成员方法
  17. 构造方法:
  18. this() -访问当前对象的构造方法
  19. super() -访问父类对象的构造方法
  20. 所有的子类,在创建对象的时候,一定一定一定先调用父类的构造方法,然后再调用本类的构造方法创建对象。
  21. 子类中所有的构造方法,都会默认的访问父类的无参构造方法。
  22. 如果父类没有无参构造方法,那么子类必须在构造方法的[第一行]显式调用父类的有参构造方法并传递参数。
  23. 由于this()和super()都必须在构造方法的第一行,所以二者不能共存
  24. 父类的方法被子类的同名方法覆盖,这种情况叫方法的【重写】
  25. 具体的表现:
  26. 子类中出现了和父类中一模一样的方法声明(方法名相同,参数列表也相同)
  27. 重载和重写的区别:
  28. 重载是发生在同一个类中的,方法名相同,参数列表必须不相同。
  29. 重写是发生在父子类中的,方法名相同,参数列表也必须相同。
  30. 重写的目的:当子类需要父类的功能,但是功能的主体实现需要子类有自己特定的内容时,就需要重写父类的方法。
  31. 方法重写的注意事项:
  32. 1、private修饰的方法不能被重写,父类的私有成员子类是无法继承的。
  33. 2、子类方法的访问权限不能比父类方法的方法访问权限更低 public>default>private
  34. 3、父类的方法如果想被子类重写,那么就只能属于public或protected修饰
  35. 4、静态方法不能被重写,即使子类有父类相同的方法,也不是重写父类方法,只是方法同名。
  36. 案例:
  37. 某IT公司有``研发部门``和``设计部门``两个部门的员工,每名员工都有自己的``员工编号``、``员工姓名``、``员工岗位``3个属性,
  38. 并且每名员工都有自己的``工作内容``。
  39. 比如:
  40. - 员工姓名:张三,工作岗位是:Java开发工程师,员工编号是:1001,工作内容是:开发商城后台管理系统。
  41. - 员工姓名:李四,工作岗位是:前端开发工程师,员工编号是:1011,工作内容是:开发商城首页。
  42. - 员工姓名:王五,工作岗位是:UI设计师,员工编号是2001,工作内容是:商城logo设计。
  43. - 员工姓名:赵六,工作岗位是:UI设计师,员工编号是2002,工作内容是:商城logo设计。
  44. | 员工类类名 | ``Employee`` |
  45. | ------------------ | --------------------------- |
  46. | 研发部类名 | ``RDDepartment`` |
  47. | 设计部类名 | ``DesignDepartment`` |
  48. | Java开发工程师类名 | ``JavaDevelopmentEngineer`` |
  49. | 前端开发工程师类名 | ``WebDevelopmentEngineer`` |
  50. | UI设计师类名 | ``UIDesigner`` |
  51. | 员工姓名 | ``name`` |
  52. | 员工编号 | ``id`` |
  53. | 员工岗位 | ``job`` |
  54. | 工作方法名 | ``work()`` |
  55. 请根据上面的信息,合理的编写代码,利用继承相关的知识,实现需求。
  56. 需求:
  57. - 员工类是父类
  58. - 创建员工类及其各种子类,并分别添加属性和方法。
  59. - 创建提示中的各类员工对象,并为属性赋值,然后调用工作的方法。
  60. - 类名、属性名、方法名必须严格按照表中来写。
  61. - 工作方法中要实现在控制台中输出哪一个部门的哪一个员工,id是什么,岗位是什么,以及在做什么工作内容。