Java 无法在Runnable中实现run() 公共类读取器扩展线程{ ... public static void run()引发InterruptedException{ Monitor mon=新监视器(); 对于(inti=0;i

Java 无法在Runnable中实现run() 公共类读取器扩展线程{ ... public static void run()引发InterruptedException{ Monitor mon=新监视器(); 对于(inti=0;i,java,multithreading,Java,Multithreading,来说,它只是一个公共的空白。没有静态 请看一下。它清楚地表明它是公共无效的:-) 另外,避免使用名称Reader,因为java.io包中有一个名为Reader的类,不建议使用java包中已经存在的名称:)线程类中的run方法不是静态的摆脱异常,请参阅。:)错误:未报告的exException InterruptedException;必须被捕获或声明为thrownyes,因此在调用run方法的地方,用try and catch将其包围起来。我很好奇……为什么我们不能抛出它,是因为当我们中断本机线

来说,它只是一个公共的空白。没有静态

请看一下。它清楚地表明它是
公共无效的
:-)


另外,避免使用名称
Reader
,因为
java.io
包中有一个名为
Reader
的类,不建议使用java包中已经存在的名称:)

线程类中的run
方法不是静态的

摆脱
异常,请参阅。:)错误:未报告的exException InterruptedException;必须被捕获或声明为thrownyes,因此在调用run方法的地方,用try and catch将其包围起来。我很好奇……为什么我们不能抛出它,是因为当我们中断本机线程时,可能会损坏系统还是其他什么?因为
run()
as本身不会抛出任何异常。如果您声明它抛出了某些东西,您将违反签名。因此,问题:)
public class Reader extends Thread{

...

    public static void run()throws InterruptedException{

        Monitor mon = new Monitor();

            for(int i = 0; i <10; i++)
            {
                mon.MonEntry();



                Read("file.txt");

                mon.MonExit();
            }

    }
}