当前位置: 首页 > 工具软件 > Ming > 使用案例 >

多态:如何理解Person ming = new Person();

咸育
2023-12-01
Person ming = new Person();

注意区分Person ming是定义Person类型的变量ming,而new Person()是创建Person实例(对象)。

而对于如下情况:

Object o = new person;
Object o  = new Student();

Object类型的变量o,可以指向person类型的对象,也可以指向student类型的对象。
Object是父类,person、Student为子类。

(一个引用类型变量可能指向(引用)多种不同类型的对象)

public class Main {
    public static void main(String[] args) {
        Person p = new Student();
        p.run(); // 应该打印Person.run还是Student.run?
    }
}

class Person {
    public void run() {
        System.out.println("Person.run");
    }
}

class Student extends Person {
    @Override
    public void run() {
        System.out.println("Student.run");
    }
}
 类似资料: