如何在一个impl中调用另一个impl中的方法

在Java编程中,我们经常会遇到一个接口(interface)有多个实现类(impl)的情况。有时候我们需要在一个实现类中调用另一个实现类中的方法。本文将介绍如何实现这一功能,并通过一个实际问题来演示。

实际问题

假设我们有一个UserService接口,有两个实现类UserServiceImplAdminServiceImpl。现在我们需要在UserServiceImpl中调用AdminServiceImpl中的一个方法,例如获取管理员的信息。

示例代码

首先,定义接口UserService

public interface UserService {
    void getUserInfo();
}

然后,创建UserServiceImpl实现类:

public class UserServiceImpl implements UserService {

    @Override
    public void getUserInfo() {
        // 在这里调用AdminServiceImpl中的方法
        AdminServiceImpl adminService = new AdminServiceImpl();
        adminService.getAdminInfo();
    }
}

最后,创建AdminServiceImpl实现类:

public class AdminServiceImpl {

    public void getAdminInfo() {
        // 获取管理员信息的具体实现
        System.out.println("获取管理员信息成功");
    }
}

流程图

flowchart TD
    A[UserServiceImpl] --> B[AdminServiceImpl]

关系图

erDiagram
    UserService ||--o{ UserServiceImpl : has
    AdminServiceImpl ||--o{ UserServiceImpl : has

总结

在Java中,一个实现类调用另一个实现类中的方法并不困难。我们只需在需要的地方实例化另一个实现类,并调用其方法即可。通过本文的示例,希望读者能够更好地理解如何在不同的实现类中进行方法调用。