我有一个抽象类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);
  }
}

10-08 09:04
查看更多