1

ClassAプロジェクトのさまざまな領域で多くのコンポーネントとライブラリを使用しています。
ここで、このクラスに追加のメンバーを追加する必要がありますが、他の領域では必要とされない/使用されないため、クラスには適切ではありませんextend。代わりに
メンバーを追加すると、問題が発生しますか? すべてを再構築する必要がありますか?ClassAextending

4

3 に答える 3

5

新しいメンバーを追加すると、バイナリ互換性が維持されます。第 13 章「Java 言語仕様のバイナリ互換性」も参照してください。

明らかに、変更されたクラスを再構築する必要がありますが、変更されたクラスを使用しているクラスは必要ありません。

于 2012-10-11T08:39:12.653 に答える
1

ClassA と他のクラスの間の既存の連絡先ややり取りが BREAK でない限り、問題はありません。ただし、他のクラスで使用されているメソッドのシグネチャを変更すると、メソッドの古いバージョンが存在しないため、その場所を特定する際に実行時エラーが発生する可能性があります。

于 2012-10-11T08:35:10.450 に答える
-1

クラス A を変更する場合は、明らかに再構築が必要です。影響を最小限に抑えるために、クラス A を拡張し、サブクラスを作業に使用できます。他のコンポーネントとライブラリは引き続きクラス A を使用しますが、コードは追加されたメンバーを持つ sublcass を参照する必要があります。

繰り返しますが、オブジェクトをどのように定義するかによって異なります。

于 2012-10-11T08:37:24.003 に答える