私は、サブクラス型のオブジェクトを作成すると、year変数が0に初期化されるので、コンストラクタのスーパークラス内にif文を作成する際に問題が発生します。誰かが問題を特定するのを助けてくれますか?スーパークラスのコンストラクタ内で特定の条件を持つにはどうすればいいですか?
public abstract class Ship implements Floatable {
private String name;
private int year;
public Ship(String n, int y) {
if(year > 1950)
year = y;
else
year = 0;
name = n;
}
サブクラスの//コード
public class CruiseShip extends Ship {
private int maxPsg; //max number of passengers
public CruiseShip(String name, int year, int max) {
super(name, year);
maxPsg = max;
}
この '(年> 1950の場合) 'は' if(y> 1950) 'でなければなりません。 – tsolakp