Code: Select all
class Fruit{ }
class Apple extends Fruit{ }
class Mango extends Fruit{ }
interface Poisonous{ }
class TestClass{
public static void main(String[] args){
Fruit f = new Mango(); //ok, because Mango is-a Fruit
Poisonous p = (Poisonous) f; //compiles fine but throws a ClassCastException at run time
}
}
class StarFruit extends Fruit implements Poisonous{
public static void main(String[] args){
Fruit f = new StarFruit();
Poisonous p = (Poisonous) f; //compiles and runs fine
}
}