我有一个函数,首先检查所传递的参数类型:处理不同类型的对象在一个通用的方式
public void myFunc(Object myObj){
if(myObj instanceof Student){
Student p = (Student) myObj;
}else{
Teacher p = (Teacher) myObj;
}
//after above check I want to handle p in a generic way
//of course the following p is not resolved...
p.getName();
p.registerSelf();
}
p
总是需要先投。如何使编译器首先知道p的类型,然后调用Teacher
& Student
这两个共同函数。
我的人和老师是通过使用apache avro自动生成的。我无法定义两个类(Person &学生)来扩展同一个类。
那么,不要发表同样的问题两次。至少没有任何改善。为什么你用[tag:performance]标签标记这个?这是无关的。 –