【发布时间】:2012-07-18 15:28:03
【问题描述】:
我有这个父抽象类,它定义了一个 Apache 记录器静态对象。像这样的:
import org.apache.log4j.Logger;
public abstract class A {
private final static Logger logger;
(...)
}
我知道这段代码是非法的,因为记录器对象没有被初始化。问题是我不想用 logger = Logger.getLogger(A.class); 初始化它因为我希望每个子类都用自己的类对象初始化它,这样我就可以知道哪个类导致了哪个错误。
但同时我想在基类 A 中包含一些我的日志记录方法。
这方面的最佳做法是什么?我应该用 A.class 初始化它,然后为每个子类重新实例化它吗?不知怎的,这对我来说是不正确的。
【问题讨论】:
标签: java inheritance static