下面是原型代码,
message Animal {
optional string name = 1;
optional int32 age = 2;
}
message Dog{
optional string breed = 1;
}
然后是使用上述proto的示例类
public class InheritanceTest {
public static void main(String[] args){
Dog dog = Dog.getDefaultInstance();
printAnimalName(dog.getAnimal());
}
public static void printAnimal(Animal animal){
Dog dog = (Dog)animal; // Not at all possible right!
}
}
只有通过在动物中将狗作为“必需”的实例才能进行向上转换吗?或者还有其他向上转换的方式吗?