内部类Java

内部类Java,java,android,Java,Android,晚上好。我很难得到回复。 我有两门课: 方法为get()的MyHttpClient和响应字符串 public class MyHttpClient { private static final String BASE_URL = "http://pgu.com"; private static String response; private static AsyncHttpClient client = new AsyncHttpClient(); public static void

晚上好。我很难得到回复。 我有两门课: 方法为get()的MyHttpClient和响应字符串

public class MyHttpClient {

private static final String BASE_URL = "http://pgu.com";
private static String response;

private static AsyncHttpClient client = new AsyncHttpClient();

 public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.get(getAbsoluteUrl(url), params, responseHandler);
 }

 private static String getAbsoluteUrl(String relativeUrl) {
      return BASE_URL + relativeUrl;
  }

public static String getResponse() {
    return response;
}

public static void setResponse(String response) {
    response = response;
}
}

在第二节课中,我使用GET方法。Html正在LogCat中打印,但setResponse不起作用。如何将响应字符串作为MyHttpClient的字段获取

public class MyHttpClientUsage {


public MyHttpClientUsage(){

}

public void getInfoAbout() throws HttpException{

    RequestParams params = new RequestParams();
    params.put("a", "Static");
    params.put("content", "47");

    MyHttpClient.get("", params, new AsyncHttpResponseHandler(){
         @Override
            public void onSuccess(String response) {
                System.out.println(response);   
                            //Write HTML in LogCat(work) 
                MyHttpClient.setResponse(response); //doesn't work
            }
    });
}

}

您需要在
MyHttpClient
中使用
this.response=response
,因为当前您正在重置发送到方法中的参数


最好将方法参数设置为
final
以避免出现这种情况。

您需要在
MyHttpClient
中使用
this.response=response
,因为当前您只是重置发送到方法中的参数


最好将方法参数设置为
final
,以避免出现这种情况。

“我有三个类:带有方法get()的MyHttpClient和响应字符串。”我在这里只能数2……是的,我的错误。2类如果下面的答案不合适,您能否提供更多信息:)“我有三个类:MyHttpClient和方法get(),以及响应字符串。”我在这里只能数2…是的,我错了。2类如果下面的答案不合适,您能否提供更多信息:)顺便说一句,它被称为
变量阴影
,可能我想错了,但我不能使用
this.response=response
原因字段是静态的。我不能在静态类中使用非静态字段。它不应该是静态的,但只需直接访问MyHttpClient.response。@NikolayKuznetsov非常感谢,我不知道它有一个正式名称:)顺便说一句,它叫
变量阴影
,也许我想错了,但是我不能使用
this.response=response
cause字段是静态的。而且我不能在静态类中使用非静态字段。它不应该是静态的,只需直接访问MyHttpClient.response即可。@NikolayKuznetsov非常感谢,我不知道它有一个正式名称:)