您将匿名类的实例放在哪里?
public class MyClass {
// Variables
private Api api;
// Functions
public void callApi() {
api.get(<...>, responseListener)
}
// Where to put that? Top of the file, bottom, next to function?
private ResponseListener responseListener = new ResponseListener() {
@Override
public void onSuccess(Object response) {
}
};
}
而且,在那种情况下,最好直接在api调用中实例化吗?
public void callApi() {
api.get(<...>, new ResponseListener() {
@Override
public void onSuccess(Object response) {
}
});
}
最佳答案
那是您必须做出的决定。最初编写它的方式是,有一个名为responseListener
的字段,该字段被初始化一次,并在每次callApi()
调用时重新使用。如果这是您想要的行为,则可以将其放在callApi()
方法上方(其他字段为api
)。或将其保留在原处。他们都还可以,只是您更喜欢哪个。
但是,如果您希望每次调用callApi()
时都需要一个新实例,则将其放入callApi()
内是有意义的。
因此,无论将其放在callApi()
还是外部都很重要,但是只有您可以决定哪个更好。而且,如果您希望在外面使用它,那么在外面的位置也无所谓,只有您可以决定哪个更好。