//
//interface:more abstract
//
interface Alive{
void printInfo();
}
abstract class People implements Alive{
}
class Student extends People{
@Override
public void printInfo() {
System.out.println("I am a Student!");
}
}
class Teacher extends People{
@Override
public void printInfo() {
System.out.println("I am a Teacher!");
}
}
abstract class Anaimal implements Alive{
}
class Bird extends Anaimal{
@Override
public void printInfo() {
System.out.println("I am a Bird!");
}
}
class Dog extends Anaimal{
@Override
public void printInfo() {
System.out.println("I am a Dog!");
}
}
class Cat extends Anaimal{
@Override
public void printInfo() {
System.out.println("I am a Cat!");
}
}
public class Main{
public static void main(String[] args){
Alive[] alives={new Student(),new Teacher(),new Bird(),new Dog(),new Cat()};
for(Alive a:alives){
a.printInfo();
}
}
}