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