我有一个程序需要继承broadcastreceiver和MapActivity的属性。实际上我想在收到朋友的短信时发送当前位置(经度和纬度)。我有一个代码,但我不知道如何继承这两个类的属性。这是我的代码:
如果不可能,请给我一些解决这个或任何其他方法的想法?
答案 0 :(得分:2)
由于java禁止多重继承,实际上你不能。当您计划申请隐蔽的srveyliance时,您不需要任何活动 - 只需一个广播接收器 与位置服务通信并在某处发送获得的位置。
答案 1 :(得分:0)
Java不支持多重继承,但您可以根据需要实现任意数量的接口,因此您可以通过组合实现此目的。这是一个粗略的轮廓,但有很多方法可以做到。基本思想是,对于您希望从中继承的一个或两个类,您可以引用某些实现,并通过委托将实际实现公开给同一个接口。
interface MapActivity {
Coordinates getCoordinates();
...
}
class SomeMapActivityImpl {
...
}
class ReceivelocationActivity extends BroadcastReceiver implements MapActivity {
private MapActivity mapActivity = new SomeMapActivityImpl();
public Coordinates getCoordinates() {
return mapActivity.getCoordinates();
}
...
}