Как узнать, переопределен ли метод дочерними классами?
Например,
public class Test {
static public class B {
public String m() {return "From B";};
}
static public class B1 extends B {
}
static public class B2 extends B {
public String m() {return "from B2";};
}
/**
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) {
B b1 = new B1();
System.out.println("b1 = " + b1.m());
B b2 = new B2();
System.out.println("b1 = " + b2.m());
}
}
Учитывая экземпляр B, как узнать, имеют ли какие-либо производные классы переопределенный метод m() как B2?
Обновление: мой вопрос был не ясен. Собственно, я пытался спросить, возможно ли это, не прибегая к размышлениям. Эта проверка выполняется в жесткой петле, и она используется для взлома производительности, чтобы сэкономить несколько циклов процессора.