通过对象调用字段,在编译时期就已经决定了调用那一块内存空间的数据。
字段不存在覆盖的概念,没有多态特征,只有方法才存在。(多态特征指运行时体现子类特征)
程序示例:
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