多态性是否适用于Java中的类属性?

我知道,当使用父类引用来引用子类对象时,会发生OOP中多态的常见用法:

Animal animal = new Animal();
Animal dog = new Dog();

而且我知道多态性适用于类方法,但是它也适用于类属性吗?我尝试通过以下示例进行测试:

public class Main{

    public static void main(String args[]){
        Animal animal = new Animal();
        Animal dog1 = new Dog();
        Dog dog2 = new Dog();

        System.out.println("Animal object name: " + animal.name);
        System.out.println("Dog1 object name: "+dog1.name);
        System.out.println("Dog2 object name: " + dog2.name);

        animal.print();
        dog1.print();
        dog2.print();
    }

}
class Animal{
    String name = "Animal";
    public void print(){
        System.out.println("I am an: "+name);
    }
}
class Dog extends Animal{
    String name = "Dog";
    public void print(){
        System.out.println("I am a: "+name);
    }
}

这是输出:

Animal object name: Animal
Dog1 object name: Animal
Dog2 object name: Dog
I am an: Animal
I am a: Dog
I am a: Dog

如您所见(我希望很清楚),多态性可以通过print()方法很好地工作,但是对于类属性“ name”,它取决于引用变量。

所以,对吗?多态性不适用于类属性吗?