Java有兩種引用類型,分別是編譯時類型和運行時類型。編譯型類型在變量聲明時決定,運行時類型取決於變量具體指向的類型,如果兩種類型不一致,就會出現多態。
規則:對象調用編譯時類型的屬性和運行時類型的方法。
舉例:
class Person { public String name; public Person() { name = "Person"; } public String getName() { return name; } } class Student extends Person { public String name; public Student() { name = "Student"; } public String getName() { return name; } } public class Hello { public static void main(String[] args) { Person person = new Student(); System.out.println(person.name); // Person System.out.println(person.getName()); // Student } }