在Java中,父類引用可以指向子類對象,這是多態的體現。父類引用指向子類對象時,只能訪問父類中定義的屬性和方法,而無法訪問子類特有的屬性和方法。
舉個例子:
class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
class Cat extends Animal {
public void meow() {
System.out.println("Cat is meowing");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Cat(); // 父類引用指向子類對象
animal.eat(); // 輸出 "Animal is eating"
// animal.meow(); // 編譯錯誤,無法訪問子類特有的方法
}
}
在上面的例子中,父類Animal的引用animal指向子類Cat的對象,可以調用父類的方法eat,但無法調用子類特有的方法meow。