public class Test {
public static void main(String[] args) {
Object[] objects={new Chicken(),new Tiger(),new Orange()};
for (int i=0;i<objects.length;i++){
if (objects[i]instanceof Edible)
System.out.println(((Edible)objects[i]).howToEat());
if (objects[i]instanceof Animal)
System.out.println(((Animal)objects[i]).sound());
}
}
}
interface Edible {
public abstract String howToEat();
}
abstract class Animal {
public abstract String sound();
}
class Chicken extends Animal implements Edible {
@Override
public String sound() {
return "Chicken:cock-a-doodle-doo";
}
@Override
public String howToEat() {
return "Chicken:Fry it";
}
}
class Tiger extends Animal{
@Override
public String sound(){
return "Tiger:RROOAARR";
}
}
abstract class Fruit implements Edible{
}
class Apple extends Fruit {
@Override
public String howToEat(){
return "Make apple cider";
}
}
class Orange extends Fruit{
@Override
public String howToEat(){
return "Orange:Make orange juice";
}
}
```java
"D:\java 12.0\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=61637:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 -classpath D:\IDEA\untitled8\out\production\untitled8 Test
Chicken:Fry it
Chicken:cock-a-doodle-doo
Tiger:RROOAARR
Orange:Make orange juice
Process finished with exit code 0