继承中类的成员访问的特点：
成员变量的特点：在子类的方法中访问一个变量，采用的叫就近原则。
    最先在子类局部范围查找
    然后在子类成员范围查找
    最后在父类成员范围查找
    直到都没有，就报错

super关键字
    this指向的是当前的对象，【我】
    super指向的是当前对象的父类对象，【我爹】

使用this和super调用方法和变量
    成员变量：
        this.成员变量   -访问本类对象的成员变量
        super.成员变量  -访问父类对象的成员变量
    成员方法：
        this.成员方法   -访问本类对象的成员方法
        super.成员方法   -访问父类对象的成员方法
    构造方法：
        this()  -访问当前对象的构造方法
        super() -访问父类对象的构造方法

所有的子类，在创建对象的时候，一定一定一定先调用父类的构造方法，然后再调用本类的构造方法创建对象。
子类中所有的构造方法，都会默认的访问父类的无参构造方法。
如果父类没有无参构造方法，那么子类必须在构造方法的[第一行]显式调用父类的有参构造方法并传递参数。

由于this()和super()都必须在构造方法的第一行，所以二者不能共存


父类的方法被子类的同名方法覆盖，这种情况叫方法的【重写】
具体的表现：
    子类中出现了和父类中一模一样的方法声明(方法名相同，参数列表也相同)

重载和重写的区别：
    重载是发生在同一个类中的，方法名相同，参数列表必须不相同。
    重写是发生在父子类中的，方法名相同，参数列表也必须相同。

    重写的目的：当子类需要父类的功能，但是功能的主体实现需要子类有自己特定的内容时，就需要重写父类的方法。

方法重写的注意事项：
    1、private修饰的方法不能被重写，父类的私有成员子类是无法继承的。
    2、子类方法的访问权限不能比父类方法的方法访问权限更低 public>default>private
    3、父类的方法如果想被子类重写，那么就只能属于public或protected修饰
    4、静态方法不能被重写，即使子类有父类相同的方法，也不是重写父类方法，只是方法同名。



案例：
某IT公司有``研发部门``和``设计部门``两个部门的员工，每名员工都有自己的``员工编号``、``员工姓名``、``员工岗位``3个属性，
并且每名员工都有自己的``工作内容``。
比如：
- 员工姓名：张三，工作岗位是：Java开发工程师，员工编号是：1001，工作内容是：开发商城后台管理系统。
- 员工姓名：李四，工作岗位是：前端开发工程师，员工编号是：1011，工作内容是：开发商城首页。
- 员工姓名：王五，工作岗位是：UI设计师，员工编号是2001，工作内容是：商城logo设计。
- 员工姓名：赵六，工作岗位是：UI设计师，员工编号是2002，工作内容是：商城logo设计。

| 员工类类名         | ``Employee``                |
| ------------------ | --------------------------- |
| 研发部类名         | ``RDDepartment``            |
| 设计部类名         | ``DesignDepartment``        |
| Java开发工程师类名 | ``JavaDevelopmentEngineer`` |
| 前端开发工程师类名 | ``WebDevelopmentEngineer``  |
| UI设计师类名       | ``UIDesigner``              |
| 员工姓名           | ``name``                    |
| 员工编号           | ``id``                      |
| 员工岗位           | ``job``                     |
| 工作方法名         | ``work()``                  |

请根据上面的信息，合理的编写代码，利用继承相关的知识，实现需求。

需求：

- 员工类是父类
- 创建员工类及其各种子类，并分别添加属性和方法。
- 创建提示中的各类员工对象，并为属性赋值，然后调用工作的方法。
- 类名、属性名、方法名必须严格按照表中来写。
- 工作方法中要实现在控制台中输出哪一个部门的哪一个员工，id是什么，岗位是什么，以及在做什么工作内容。