class Cat{
}
class Tiger extends Cat{
public String getZooAddress(){
return "cityZoo";
};
}
Bean{
public Cat getCat() {
return new Tiger();
}
}
我注意到#{bean.cat.zooAddress}
实际上显示“cityZoo”。它是如何工作的?我想象这#{bean.cat}
代表一只猫,并试图调用getZooAddress()
会导致“找不到属性”错误。容器是否会自动进行从 Cat 到 Tiger 的向下转换?