我有一个抽象类Parent,有2个子类A和B。Parent有一个称为do()的静态方法。我想知道是否有一种静态方法可以在Logger中将类A的日志信息添加为A.do()并在类B中的日志信息添加为B.do()。通常
protected final Logger LOGGER = Logger.getLogger(getClass());
因为do()是静态方法,所以不会起作用,因此Logger也需要是静态的,但是getClass()方法显然不是静态的。
谢谢。
最佳答案
我不推荐,但如果您真的想要...
public class A {
public static void do() {
doImpl(A.class);
}
protected static void doImpl(Class<?> refClass) {
}
}
public class B extends A {
public static void do() {
doImpl(B.class);
}
}