新人一枚,请多包涵。
Java匿名内部函数本人不怎么主动使用,但是经常会调用一些API,其中会调用一些接口,而这些接口是需要使用匿名内部类来实现的,于是就遇到了一些问题。
就比如okHttp3 的接口调用
OkHttpClient okHttpClient = new OkHttpClient();
final Request okRequest = new Request.Builder()
.url(url)
.build();
Call call = okHttpClient.newCall(okRequest);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {});
就要使用匿名内部类。
这一用不要紧,一个问题却难到了我,由于需要写一个微信登陆的Controller,需要从微信端获取用户的js_code再由服务器向微信服务器发送data以换取用户的openId以及sessionKey,于是就想到了okhttp3。
由于内部类的机制,内部类在使用外部类的成员变量时,该变量必须是final修饰的