packagecom.neal.exer1;classPerson{protectedString name ="person";protectedint age =50;publicStringgetInfo(){return"Name: "+ name +"\n"+"age: "+ age;}}classStudentextendsPerson{protectedString school ="pku";publicStringgetInfo(){return"Name: "+ name +"\nage: "+ age +"\nschool: "+ school;}}classGraduateextendsStudent{publicString major="IT";publicStringgetInfo(){return"Name: "+ name +"\nage: "+ age +"\nschool: "+ school
+"\nmajor: "+ major;}}publicclassInstanceTest{publicstaticvoidmain(String[] args){InstanceTest test =newInstanceTest();
test.method(newStudent());}publicvoidmethod(Person e){//虚拟化调用String info = e.getInfo();System.out.println(info);if(e instanceofGraduate){System.out.println("a graduated student");System.out.println("a student");System.out.println("a person");}elseif(e instanceofStudent){System.out.println("a student");System.out.println("a person");}else{System.out.println("a person");}}}