2012-02-17 6 views
4

これは愚かな質問かもしれませんが、私はクラスを2つのクラスに同時に拡張させる方法には苦労しています。 ListActivityを使用するSERVICEを作成しようとしています。どうすればいい?2つのクラスを拡張するには?

答えて

1

コーディングはJava programming languageとします。それで簡単な答えは:あなたはしません。 Javaは複数のクラスからの派生をサポートしていません。 ListActivityServiceが含まれているようにしてください。

class MyService extends Service{ 
    ... 
} 

class MyList extends ListActivity{ 
    MyService service = new MyService(); 
} 
+0

サービスを拡張せずにどうすればいいですか? – modellero

+0

@ user1102714例を追加しました – poitroae

0

Javaでは、1つ以上のクラスを同時に拡張することはできません。ただし、複数のインタフェースを実装することもできます(ただし、これは自分のタスクに関するものではありません)。

あなたはいいえ、それは不可能ですbound service

0

を探す必要があります。実装を再構築する必要があるかもしれません。

0

実際に2つのクラスを直接拡張することはできません。いくつかのトリックを使用して、それを動作させるためにいくつかのインターフェイスを作成する必要があります。ここでガイドです:JavaやAndroidはあなたがthis kind of Serviceを意味すると仮定すると、Multiple Inheritance

1

、あなたがすべてでこれを行うことはできません。 Javaの多重継承の欠如にかかわらず。サービスはアクティビティでもありません。サービスを作成し、別のListActivityとuse a binder to communicate between themを作成する必要があります。

2つのクラスの機能を継承する場合は、delegation patternを使用します。