Java 尝试使用现有的记录器对象,但获取<;预期标识符>;错误?
我的项目中使用了Java日志API。他们在类a的构造函数中使用类似记录器的工具,例如:Java 尝试使用现有的记录器对象,但获取<;预期标识符>;错误?,java,logging,Java,Logging,我的项目中使用了Java日志API。他们在类a的构造函数中使用类似记录器的工具,例如: public A(Context context) { log_ = (Logger) context.getAttribute(LOGGER); } 我必须为一个没有构造函数的类实现它。。。我试着把那个类的对象做成如下: Class B { B b; } 并尝试使用以下记录器: log_ = (Logger) b.getAttribute(LOGGER); 但是我一直在这一行中得到错误?
public A(Context context) {
log_ = (Logger) context.getAttribute(LOGGER);
}
我必须为一个没有构造函数的类实现它。。。我试着把那个类的对象做成如下:
Class B {
B b;
}
并尝试使用以下记录器:
log_ = (Logger) b.getAttribute(LOGGER);
但是我一直在这一行中得到错误
?这里的错是什么?提前感谢。您不能将任意语句直接放入类定义中(实际上它是一个定义)。您可以初始化成员字段
getLogger()之类的方法
class B {
Context ctx = Context.getDefault();
Logger log = ctx.getLogger();
B(Context ctx) {
log = ctx.getLogger();
}
Logger logger() {
return ctx.getLogger();
}
}
请正确格式化您的代码如果您告诉我们您遇到了什么错误(编译器警告、堆栈跟踪),我们可能会帮助您。“他们”正在从上下文获取记录器,请确保您使用相同的方法。确保正确声明字段。确保声明了所有必需的字段。出于对Java的热爱,请向我们展示更具体的代码和stacktrace:)您不能将任意语句(如赋值语句)放在类主体内部、方法或构造函数外部。在类
B
中添加一个构造函数,并将作业放在其中。我无法理解a
和B
之间的关系。你能解释一下吗?你是否建议编写一个构造函数public B(Context Context){log_=(Logger)Context.getAttribute(Logger);},但它仍然不起作用?或者我理解错了。。。好心帮忙