我正在尝试创建一个包含 Boat 对象的 Fleet 数组。我目前收到一个错误,即这些无法相互转换。
public class Fleet {
public static void main(String[] args){
Fleet[] boats = new Boat[args.length];
}
}
我正在尝试创建一个包含 Boat 对象的 Fleet 数组。我目前收到一个错误,即这些无法相互转换。
public class Fleet {
public static void main(String[] args){
Fleet[] boats = new Boat[args.length];
}
}
你不想这样做。Fleet 应该包含一个 Boat 数组,而不是一个 Fleet 数组。
IE,
public class Fleet {
private Boat[] boats;
public Fleet(int size){
boats = new Boat[size];
for (Boat boat : boats) {
boat = new Boat();
}
}
public static void main(String[] args) {
int boatCount = 10;
Fleet fleet = new Fleet(boatCount);
}
}
否则,就像说 Fleet 是 Fleet 的集合,但它不是。
此外,您的 main 方法可能不应该包含此数组,而是 Fleet 对象应该包含。
请注意,任何一个类都不应扩展另一个类,否则就像说 Zoo 扩展 Animal 或 Animal 扩展 Zoo。动物园包含动物,舰队包含船(实际上是船)。
这仅在Boat
从Fleet
否则你可以继续,
Fleet[] boats = new Fleet[args.length];