-2

オーバーロードされたコンストラクターにかなり特有の問題があるようです

デフォルトのコンストラクターAutoFleetServicesMain()

私は持っています

listModel = new DefaultListModel();
list = new JList(listModel);

オーバーロードされたコンストラクターではAutoFleetServicesMain(int i)

私は持っています

listModel.addElement(dbh.findAll());

私の出力によると、デフォルトのコンストラクターはオーバーロードされたコンストラクターの前に呼び出されるので、listModelがnullである理由はわかりません

ただし、listModel = new DefaultListModel();を追加すると、オーバーロードされたコンストラクターに対しては、エラーなしで実行されますが、それでもリストが取得されませんか?

私に何ができるかについてのアイデアはありますか?

4

1 に答える 1

2

コンストラクターをチェーンしたいようですが、それは自動的には行われません。AutoFleetServicesMain(int)コンストラクターの先頭に次のステートメントを追加してみてください。

this();

これにより、後続のロジックの前にデフォルトのコンストラクターが呼び出されます。コンストラクターチェーンのその他の例については、この投稿を参照してください。Javaで1つのコンストラクターを別のコンストラクターから呼び出すにはどうすればよいですか。

于 2012-09-27T01:17:25.417 に答える