跨类传递值

时间:2010-12-07 07:31:05

标签: java


       我正在做一个Java应用程序,其中我有两个.java文件(Connect.java和Handler.java)。在Connect.java我有一个函数,我从其他Response.java文件中获取一些值。现在我需要将这些值作为输入参数传递给Handler.java中的函数。以下是我的java文件。任何人都可以帮助我......?

Connect.java:

public class Connect
{

    private Response obj_response;
    public String UserId;
    public String LocationIpAddress;
    public String PassWord;

    public Connect(Response p_response)
    {
        obj_response=p_response;
    }

    public ConnectResponse handleConnect()
    {   

        try
        {   
            //values got from Response.java file
            String UserId=obj_response.getUserId();
            String LocationIpAddress=obj_response.getLocationIpAddress();
            String PassWord=obj_response.getPassWord();
        }
        catch(IOException e)
        {
            System.out.println("IO Exception");
        }

        return null;

    }
}

如何实现我的Handler.java?

2 个答案:

答案 0 :(得分:3)

您可以通过Handler.java的构造函数传递所需的参数,或者将所需的数据作为函数参数传递。你先试试了吗?

答案 1 :(得分:1)

HandlerConnectResponse - 很难说这些类应该建模什么。我的建议是:尝试为这些课程找到更好的名字。

看起来就像你有某种连接机制,你收到一个响应(来自另一个服务)并准备它与某种(响应)处理程序进行进一步处理(希望我的水晶球)不太脏)

在不改变您的实际设计的情况下,Connect类应该拥有 Handler(组合)的实例。 Handler类需要提供一个方法,该方法需要Response并执行处理


public class Handler {
  public void handle(Response response) {
    // do what has to be done with response
  }
}

public class Connect {
  private Handler handler = new Handler();
  //...
  public ConnectResponse handleConnect() {   
       // ...
       handler.handle(obj_response);
       // create and return ConnectResponse
  }
}