經過對象調用字段,在編譯時期就已經決定了調用那一塊內存空間的數據。java
字段不存在覆蓋的概念,沒有多態特徵,只有方法才存在。(多態特徵指運行時體現子類特徵)code
程序示例:對象
class Animal{ String name= "animal"; public void eat(){ System.out.println("吃"); } } class Dog extends Animal{ String name= "dog"; public void eat(){ System.out.println("狗吃骨頭"); } } class Cat extends Animal{ public void eat(){ String name= "cat"; System.out.println("貓吃魚"); } } } public class Polymorphism { public static void main(String[] args) { Animal a= new Dog(); a.eat(); //子類方法 System.out.println(a.name); //父類字段 System.out.println("~~~~~~~~~~~~~~~~~~~~~~~"); a= new Cat(); a.eat(); //子類方法 System.out.println(a.name); //父類字段 } }
程序示例運行結果:內存
狗吃骨頭 animal ~~~~~~~~~~~~~~~~~~~~~~~ 貓吃魚 animal