Java 从匿名类获取变量

Java 从匿名类获取变量,java,Java,我有以下情况: final String value = null; AsyncHttpClient client = new AsyncHttpClient(); client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) {

我有以下情况:

final String value = null;
AsyncHttpClient client = new AsyncHttpClient();
    client.get("http://www.google.com", new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {                
            value = response;
        }
    });     
    System.out.println(value);
我正在从我的主类运行此代码

现在我需要能够在我的主类中使用过度使用的类中的变量(字符串响应)

我应该如何得到这个变量,因为很明显我所得到的不起作用


ps,建议编辑这个名字,我不知道该怎么称呼它。

你的问题与课程无关;这是因为您正在同步使用异步代码。您想对字符串响应执行的任何操作都必须在
onSuccess
处理程序(或它调用的函数)中。

异步方法的全部要点是您不能立即使用它。那么,我如何将它返回到我的主类呢?我需要在我的主类中显示say for,比如,一个列表,我的异步类从我这里得到这个列表。但我需要它来返回实际的列表?我想我需要某种设计模式或技术来获得它?@Zapnologica你必须重新思考你的设计。如果您需要立即显示,请使用同步http客户端。@SotiriosDelimanolis我确实需要立即显示,但1:网络请求需要一些时间来获取数据,因此不是立即显示;2:对于android,您不应在主活动上运行此类方法,因为这可能会导致应用程序无响应。那么我该如何重新思考我的设计呢?我需要做什么?我不能创建一个方法,在主类中显示数据(字符串数据),然后在异步类上成功调用该方法吗?@Zapnologica你知道
Observer
模式吗?在
onSuccess
方法中,您可以通知某个侦听器(可能有一个文本字段引用的侦听器)该值已准备就绪,并因此更新其状态(更新文本字段)。但是您不能立即系统输出该值,因为它根本不可用。这是我需要实现的观察者模式的适当实现吗?