Java 如何在一个类中继承两个类的属性?
我有一个程序需要继承broadcastreceiver和MapActivity的属性。实际上,我想在收到朋友的短信时发送当前位置(经度和纬度)。我随身携带一个代码,但不知道如何继承这两个类的属性。以下是我的代码:Java 如何在一个类中继承两个类的属性?,java,android,gps,sms,location,Java,Android,Gps,Sms,Location,我有一个程序需要继承broadcastreceiver和MapActivity的属性。实际上,我想在收到朋友的短信时发送当前位置(经度和纬度)。我随身携带一个代码,但不知道如何继承这两个类的属性。以下是我的代码: 如果这是不可能的,请给我一些想法来解决这个问题或任何其他方法?由于java禁止多重继承,您实际上不能。当您计划应用covert srveyliance时,您不需要任何活动—只需要一个广播接收器 它与定位服务通信并将获得的位置发送到某处 Java不支持多重继承,但您可以实现任意多个接口
如果这是不可能的,请给我一些想法来解决这个问题或任何其他方法?由于java禁止多重继承,您实际上不能。当您计划应用covert srveyliance时,您不需要任何活动—只需要一个广播接收器
它与定位服务通信并将获得的位置发送到某处 Java不支持多重继承,但您可以实现任意多个接口,因此可以通过组合来实现。这里有一个粗略的轮廓,但有很多方法可以做到这一点。其基本思想是,对于要从中继承的任何一个或两个类,都有对某个实现的引用,并且通过委托给实际实现来公开相同的接口
interface MapActivity {
Coordinates getCoordinates();
...
}
class SomeMapActivityImpl {
...
}
class ReceivelocationActivity extends BroadcastReceiver implements MapActivity {
private MapActivity mapActivity = new SomeMapActivityImpl();
public Coordinates getCoordinates() {
return mapActivity.getCoordinates();
}
...
}
但是我的代码使用了locationmanager,其中涉及getsystemservice(),显示错误。您能告诉我如何修改代码以获取经度和纬度而不继承MapActivity吗?我修复了我的代码。这是我更新的代码pastebin.com/yKitMftU,但出现了一个新问题。不是发送它的位置(经度和纬度)它正在发送发件人的位置,这在发件人发送邮件后会出现在邮件中。我希望此代码发送收件人的位置,而不是发件人的位置。您能帮我吗?