哪种方法更好,直接实施LocationListener
就像这样
public class BackgroundService extends Service implements LocationListener {}
或通常在班级中声明LocationListener
?
LocationListener locationListener = new LocationListener() {};
答案 0 :(得分:9)
在第二段代码中,您必须在调用接口方法之前调用属性locationListener
。
在第一段代码中,您可以直接访问界面方法。
因此,如果您知道每个方法调用花费cpu时间然后直接在类中实现它而不是将其作为属性将是有益的。
在这种情况下,您有一个BackgroundService
的引用,您可以使用它来访问LocationListener的方法
public class BackgroundService extends Service implements LocationListener {}
在这种情况下,您有2个引用,一个引用到 BackgroundService ,另一个引用到 locationListener
public class BackgroundService extends Service {
private LocationListener locationListener = new LocationListener() {};
}
但话说回来,如果你的程序没有关键的时间限制,那真的不重要。 最重要的是,您的代码是可读的。
我希望能回答你的问题。