我已被指示创建两种相互重载的方法。一个应该将一个对象存储在一个数组中,另一个应该将一个对象存储在另一个数组中。作业如下:
重做您的动物园,使其能够分别存放野生动物和家畜。 因此,您的Zoo类可能/可能有两种不同的add()方法。 接收实现野生动物接口的Animal对象和接收实现家畜接口的Animal对象的add()方法。
我该怎么做?
Class Zoo {
...
void add(Animal foobar instanceof Wild){
[...]
}
[...]
不会编译。
也没有Class Zoo {
...
void add(Animal foobar implements Wild){
[...]
}
[...]
实际上,可以使用instanceof在add()中执行if语句,但他特别要求两个add()方法相互重载。我该怎么做呢?或者,这是不可能的,我的教导试图通过大概说/可能会弄乱我?
答案 0 :(得分:2)
关键是提供两种add()
方法,一种采用一种参数(野生生物动物类型),另一种采用其他类型的参数(a 国内动物类型。)
你现在应该有足够的信息来编码。
附录 (2016年3月)
例如,这是您可以使用的代码类型:
class Animal { ... }
interface Wildlife { ... }
interface Domestic { ... }
class WildAnimal
extends Animal
implements Wildlife
{ ... }
class DomesticAnimal
extends Animal
implements Domestic
{ ... }
class Zoo
{
void add(WildAnimal beast) { ... }
void add(DomesticAnimal beast) { ... }
}
两个Zoo.add()
方法都接受Animal
类型的参数。但是,一个接受Animal
对象实现Wildlife
接口,另一个接受
实现Animal
接口的Domestic
对象。