gpt4 book ai didi

Java:如何查找是否从基类重写了一个方法?

转载 作者:太空狗 更新时间:2023-10-29 22:39:43 24 4
gpt4 key购买 nike

<分区>

如何判断方法是否被子类覆盖?

例如,

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 的一个实例,我如何知道是否有任何派生类像 B2 一样重写了方法 m()?

更新:我的问题不清楚。实际上,我想问问这是否可能不诉诸反射(reflection)。此检查在紧密循环中完成,并用于性能黑客以节省几个 CPU 周期。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com