Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为构造函数创建实例?_Java_Constructor - Fatal编程技术网

Java 如何为构造函数创建实例?

Java 如何为构造函数创建实例?,java,constructor,Java,Constructor,我无法为此编码创建对象。如何访问此值我想在此编码中返回msg值 package com.my; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.VectorAppender; import org.apache.log4j.spi.LoggingEvent; import java.util.Vector; public class LogCapture {

我无法为此编码创建对象。如何访问此值我想在此编码中返回msg值

package com.my;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.VectorAppender;
import org.apache.log4j.spi.LoggingEvent;
import java.util.Vector;
public class LogCapture 
    {
    private final VectorAppender appender;
    private final Level level;
    public LogCapture(final Level level)
        {
        this.level = level;
        Logger root = Logger.getRootLogger();
        appender = new VectorAppender();
        root.addAppender(appender);
        }
public static void main(String args[])
{
    new LogCapture(Level.INFO);

    LogCapture.getMessage() ;
}
    public String getMessage()
        {
        Vector vector = appender.getVector();
        String msg = null;
        switch (vector.size())
            {
        case 0:
            break;
        case 1:
            LoggingEvent event = (LoggingEvent) vector.elementAt(0);
            msg = event.getRenderedMessage();
            break;
        }
        return msg;
    }
}

我不确定我是否理解这个问题,但听起来很简单。您可以创建这样一个实例:

new LogCapture(Level.INFO);
您可以在此处找到其他日志级别:

编辑,因为OP添加了更多代码: 更改main方法中的代码,使其显示

LogCapture logCapture = new LogCapture(Level.INFO);
logCapture.getMessage();

恕我直言,您已经在该网站上呆了一个多月,问了之前的八个问题,但您的代码格式仍然不正确。阅读问题区域右侧的“如何设置格式”框以及更详细地讨论格式是非常值得的。你在问题上投入的精力越多,你得到的答案的质量和数量就越好。编辑:克罗津这次是为你做的,但下一次,你自己做是值得的。我不明白这个问题@有什么问题吗?我想得到msg的值。我该怎么做?打开vector.size很奇怪。我希望有一个for循环或类似的东西。我想得到msg的值。我该怎么做?什么?看起来您的方法getMessage返回消息。但是我不知道如何调用此方法?您调用它的方式与调用任何方法的方式相同。首先以我在回答中发布的相同方式创建一个实例,将其分配给属性或变量,然后调用getMessage。例如logCapture.getMessage这不是一个很好的问题解释,我也不是一个读心术的人。你有例外吗?上面说什么?你有编译错误吗?上面说什么?