|
abstract class Animal {}
abstract class Pet extends Animal {}
Main.java:37: error: incompatible types: Cage<Animal> cannot be converted to Cage<? extends Pet>
touchPet( animalCage ); // forbid :-)
^
Main.java:41: error: incompatible types: Cage<Fox> cannot be converted to Cage<? extends Pet>
touchPet( foxCage ); // forbid :-)
^
Main.java:45: error: incompatible types: Cage<Cat> cannot be converted to Cage<? super Pet>
pushPet( catCage ); // forbid :-)
^
Main.java:46: error: incompatible types: Cage<Dog> cannot be converted to Cage<? super Pet>
pushPet( dogCage ); // forbid :-)
^
Main.java:47: error: incompatible types: Cage<Fox> cannot be converted to Cage<? super Pet>
pushPet( foxCage ); // forbid :-)
^
Main.java:49: error: incompatible types: Cage<Animal> cannot be converted to Cage<Pet>
replacePet( animalCage ); // forbid :-)
^
Main.java:51: error: incompatible types: Cage<Cat> cannot be converted to Cage<Pet>
replacePet( catCage ); // forbid :-)
^
Main.java:52: error: incompatible types: Cage<Dog> cannot be converted to Cage<Pet>
replacePet( dogCage ); // forbid :-)
^
Main.java:53: error: incompatible types: Cage<Fox> cannot be converted to Cage<Pet>
replacePet( foxCage ); // forbid :-)
^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
9 errors
Please Wait...