【发布时间】:2015-03-09 05:44:44
【问题描述】:
{
Ship ships = new Ship();
CargoShip cargoShips = new CargoShip();
CruiseShip cruiseShips = new CruiseShip();
Ship[] allShips = {ships, cargoShips, cruiseShips};
allShips[0].setShipName("Boom");
allShips[0].setYearBuilt("1900");
allShips[1].setShipName("Bang");
allShips[1].setCargoCapaicty(200);
allShips[2].setShipName("Bam");
allShips[2].setMaxPassengers(500);
for (int i = 0; i < allShips.length; i++)
{
System.out.println(allShips[i]);
}
}
所以 Ship 类是超类,而 CargoShip 和 CruiseShip 都扩展了 Ship 类。我已将 3 个对象存储到 Ship 数组中。 setCargoCapacity 和 setMaxPassengers 是只出现在子类中的方法。由于某种原因,我无法访问它们。我不知道如何制作它,以便我也可以访问子类方法。
【问题讨论】:
标签: java arrays inheritance subclass superclass