私はクラスProductとインターフェイスLargeProductを持っています。製品はLargeProductを実装します。最後のフィールドを割り当てることはできません。
LargeProductには、getterメソッドとsetterメソッドがあり、Productクラスに実装する必要がある可変高さがあります。
LargeProductにおける高さの変数はそうのように定義されています。
public int getHeight() {
return height;
}
しかし、setterメソッドはしていません::
public int height = null;
getterメソッドが正常に動作します
public void setHeight(int height) {
this.height = height;
}
エラー:
The final field LargeProduct.height cannot be assigned
The static field LargeProduct.height should be accessed in a static way
実際にどのエラーが出ているのか分かりません。私はEclipseを使用しています。ホバーすると最初のエラーが表示され、ウィンドウの下部に2番目のエラーが表示されます。
インターフェイスは、呼び出し元と呼び出し先の間の契約を定義します。メソッドと定数は、フィールドではなく、その契約の一部です。 (getterやsetterが必要ない場合は)親がフィールドを定義するようにするには、抽象クラスを使用します。 –