In java I can declare an interface: ``` interface ...
# announcements
j
In java I can declare an interface:
Copy code
interface AnimalHolder {
    Set<? extends Animal> getAnimals();
}
And in a impl I can do do:
Copy code
class CatHolder implements AnimalHolder {
   @Override
    Set<Cat> getAnimals();
}
Where
Cat implements Animal
But If I convert
AnimalHolder
to kotlin:
Copy code
interface AnimalHolder {
    val animals : Set<out Animal>
}
I can no longer have
CatHandler
have its
getAnimals
method return
Set<Cat>
. What do I need to do on my interface to allow for the same behavior I can get in java?