私は、CountableItem
とUncountableItem
という名前のこのクラスを拡張する、Item
クラスと2つのクラスを持っています。Java継承
CountableItem
には、quantity
という名前のインスタンス変数が1つあり、UncountableItem
クラスにはweight
という名前のインスタンス変数が1つあります。
かれらのコンストラクタは
public CountableItem(int id, String name, double unitPrice, Date experitionDate,int quantity) {
super(id, name, unitPrice, experitionDate);
setQuantity(quantity);
}
と
public UncountableItem(int id, String name, double unitPrice, Date experitionDate,double weight) {
super(id, name, unitPrice, experitionDate);
setWeight(weight);
}
のようなものですし、別のクラスで私は何か、どのくらい入るメインクラスのユーザーでArrayList
private ArrayList<Item> storeList = new ArrayList<>();
内の項目を保持します彼は購入したい。 しかし、私のarraylistはアイテムを保持しているので、量や重量を変更することはできません。 あなたは1で、二重に設定したいので、あなたが持っているアイテムの種類を見つけるためにinstanceof演算子使用することができます:(
[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を投稿してください。これらのメソッドは、独自のsetCountOrWeight(String s)メソッドを使用して解析し、正しいデータ型を設定します。 。 – MikeCAT
私はあなたの質問/あなたが達成しようとしていることを理解していません –
あなたが求めていることを理解するのは難しいですが、 'if(item instanceof UncountableItem)'をチェックできるはずです。 –