你可以使用递归来实现查询上级部门的功能。假设你有一个部门类 `Department`,其中包含一个属性 `parent` 表示上级部门。你可以按照以下步骤进行递归查询: 1. 首先,定义一个方法,例如 `findSuperiorDepartment`,该方法接收一个部门对象作为参数。 2. 在方法内部,判断当前部门是否存在上级部门。如果不存在,说明已经到达最高级部门,直接返回。 3. 如果存在上级部门,递归调用 `findSuperiorDepartment` 方法,并将上级部门作为参数传入。 4. 在递归调用中,可以将上级部门打印出来或者保存到一个列表中,以便后续使用。 以下是一个简单的 Java 示例代码: ```java class Department { private String name; private Department parent; public Department(String name, Department parent) { this.name = name; this.parent = parent; } // getter and setter methods public void findSuperiorDepartment(Department department) { if (department.getParent() == null) { System.out.println("Reached the highest level department."); return; } Department superiorDepartment = department.getParent(); System.out.println("Superior department: " + superiorDepartment.getName()); findSuperiorDepartment(superiorDepartment); } } public class Main { public static void main(String[] args) { Department d1 = new Department("Department 1", null); Department d2 = new Department("Department 2", d1); Department d3 = new Department("Department 3", d2); d3.findSuperiorDepartment(d3); } } ``` 在上面的示例中,我们创建了三个部门对象,并将它们连接起来形成一个部门树。然后,我们调用 `findSuperiorDepartment` 方法来递归查询上级部门,并打印出结果。注意要先传入最底层的部门对象。