如何在java中使用类的方法中的接口?

如何在java中使用类的方法中的接口?,java,android,asp.net-web-api,Java,Android,Asp.net Web Api,当我在android中使用接口时,如何将其作为方法返回?例如: public interface Status { public void Oncheck(boolean Ok); } 及 及 当我使用登录(用户名、密码)时,没有返回bool。 但当使用 apic.Execute_Bool( "/Login_Small?username=" + Username + "&password=" + Password + "", new Status()

当我在android中使用接口时,如何将其作为方法返回?例如:

public interface Status {
    public void Oncheck(boolean Ok);
}

当我使用登录(用户名、密码)时,没有返回bool。 但当使用

     apic.Execute_Bool(
        "/Login_Small?username=" + Username + "&password=" + Password + "", new Status() {
            @Override
            public void Oncheck(boolean Ok) {
                return ;
            }
        });
活动就是工作。
我该怎么做才能将其设置为methid

您的login方法没有return语句,我怀疑这段代码是否会像这样编译。
由于您已经在进行异步http调用,因此无法真正让登录方法同步返回。您的代码将按以下顺序执行:

1: Login method is invoked
2: apic.Execute_Bool is invoked
3: Api_HttpClient.get is invoked
4: Api_HttpClient.get returns
5: apic.Execute_Bool returns
6: Login returns
?: Status.Oncheck is invoked (Could be called at any time, but most likely after Login has returned)
解决这个问题有两种方法:
您可以重构代码,使调用Login的方法不需要返回值,并编写另一个方法,然后从Oncheck方法调用该方法。
或者,您可以寻找一种同步方式来发出http请求,您必须检查文档中的该方式。

顺便说一下,在java中,只有以大写字母开头的名称是类名。方法和变量以小写用例(apic.executeBool)开头。

注意,您可以替换一个序列,如
if(statusCode==200)callback.Oncheck(true);else callback.Oncheck(false)
与一个简单的
callback.Oncheck(statusCode==200)
     apic.Execute_Bool(
        "/Login_Small?username=" + Username + "&password=" + Password + "", new Status() {
            @Override
            public void Oncheck(boolean Ok) {
                return ;
            }
        });
1: Login method is invoked
2: apic.Execute_Bool is invoked
3: Api_HttpClient.get is invoked
4: Api_HttpClient.get returns
5: apic.Execute_Bool returns
6: Login returns
?: Status.Oncheck is invoked (Could be called at any time, but most likely after Login has returned)