5

IDEにクラスがあるという警告が表示されましたが、クラスabstractから派生していconcreteます。そして何?なぜできないのですか?これは私のニーズに非常によく合います。ただし、これは単なる警告であるため、クラスはコンパイル可能です。なぜそれが私にこの警告を与えるのか興味があります。ありがとうございました。

アップデート

私はいくつかの説明で私の質問を拡張する必要があります。このクラスは他のクラスから派生したものであり、誰にもインスタンス化できないようにしたいと思います。さらに、この抽象クラスから2つのサブクラスが必要であり、それぞれが1つの抽象メソッドの独自の実装を持つ必要があります。それが理由です。

悪い考えだと思いますか?代わりにどのようなアプローチを取るべきですか?

4

3 に答える 3

3

その理由は、抽象クラスは通常、サブクラスを作成するための基本的な動作/情報として機能するためだと思います。そのような決定をしている間、他のプログラマーについて考えてください。他の人はそれを期待していません。

とにかく、このタイプの「問題」に対して警告を出さないようにコンパイラ設定を設定できます。

アップデート

アップデートを読んだ後、最も簡単な方法はこのクラスのを宣言することだと思いますconstructor protected。抽象メソッドの場合:サブクラスから簡単にそれを実行できるとoverride思います。

于 2013-02-15T11:51:32.133 に答える
2

出来るよ。これが、エラーではなく警告が表示された理由です。

これは一般的なケースであり、通常、システムアーキテクチャが不良であることを示しています。そのため、コンパイラは警告を表示します。

于 2013-02-15T11:49:10.443 に答える
0

Javaコンパイラの警告は、通常は実行すべきではないプログラマーへの単なる指示です。そうしないと、プログラマーは将来、それが原因でバグが発生する可能性があります。

警告について悩む理由を説明しているので、このリンクを参照してください

于 2013-02-15T11:55:06.140 に答える