Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在一个类中继承两个类的属性?_Java_Android_Gps_Sms_Location - Fatal编程技术网

Java 如何在一个类中继承两个类的属性?

Java 如何在一个类中继承两个类的属性?,java,android,gps,sms,location,Java,Android,Gps,Sms,Location,我有一个程序需要继承broadcastreceiver和MapActivity的属性。实际上,我想在收到朋友的短信时发送当前位置(经度和纬度)。我随身携带一个代码,但不知道如何继承这两个类的属性。以下是我的代码: 如果这是不可能的,请给我一些想法来解决这个问题或任何其他方法?由于java禁止多重继承,您实际上不能。当您计划应用covert srveyliance时,您不需要任何活动—只需要一个广播接收器 它与定位服务通信并将获得的位置发送到某处 Java不支持多重继承,但您可以实现任意多个接口

我有一个程序需要继承broadcastreceiver和MapActivity的属性。实际上,我想在收到朋友的短信时发送当前位置(经度和纬度)。我随身携带一个代码,但不知道如何继承这两个类的属性。以下是我的代码:


如果这是不可能的,请给我一些想法来解决这个问题或任何其他方法?

由于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,但出现了一个新问题。不是发送它的位置(经度和纬度)它正在发送发件人的位置,这在发件人发送邮件后会出现在邮件中。我希望此代码发送收件人的位置,而不是发件人的位置。您能帮我吗?