package com.neal.exer1;
class Person{
protected String name = "person";
protected int age = 50;
public String getInfo(){
return "Name: " + name + "\n" + "age: " + age;
}
}
class Student extends Person{
protected String school = "pku";
public String getInfo(){
return "Name: " + name + "\nage: " + age + "\nschool: " + school;
}
}
class Graduate extends Student{
public String major="IT";
public String getInfo(){
return "Name: " + name + "\nage: "+ age + "\nschool: "+ school
+ "\nmajor: "+ major;
}
}
public class InstanceTest {
public static void main(String[] args) {
InstanceTest test = new InstanceTest();
test.method(new Student());
}
public void method(Person e){
//虚拟化调用
String info = e.getInfo();
System.out.println(info);
if (e instanceof Graduate){
System.out.println("a graduated student");
System.out.println("a student");
System.out.println("a person");
}else if(e instanceof Student){
System.out.println("a student");
System.out.println("a person");
}else {
System.out.println("a person");
}
}
}
100521-多态性练习
Java继承与多态实例
最新推荐文章于 2025-12-05 17:02:52 发布
该博客展示了Java中类的继承、多态性概念。通过Person、Student和Graduate类的层级关系,演示了如何使用getInfo()方法获取不同对象的信息,并使用instanceof关键字检查对象类型,展示多态特性。
721

被折叠的 条评论
为什么被折叠?



