Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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:如何在不重写main的情况下在类中创建无限循环_Java_Loops - Fatal编程技术网

Java:如何在不重写main的情况下在类中创建无限循环

Java:如何在不重写main的情况下在类中创建无限循环,java,loops,Java,Loops,我有一个类,它需要一个无限循环才能正常工作,但是在创建它时,它不允许后续代码继续。 我如何在一个类中创建一个无限循环,同时仍然允许执行main中的以下代码 这是我的密码: import javax.swing.JFrame; 导入javax.swing.*; Z类{ 公共Z(整数x,整数y){ JWindow j=新的JWindow(); j、 setVisible(真); j、 设定位置(x,y); j、 设置大小(100100); while(true){ 系统输出打印项次(0); } }

我有一个类,它需要一个无限循环才能正常工作,但是在创建它时,它不允许后续代码继续。 我如何在一个类中创建一个无限循环,同时仍然允许执行main中的以下代码

这是我的密码:

import javax.swing.JFrame;
导入javax.swing.*;
Z类{
公共Z(整数x,整数y){
JWindow j=新的JWindow();
j、 setVisible(真);
j、 设定位置(x,y);
j、 设置大小(100100);
while(true){
系统输出打印项次(0);
}
}
}
公共类示例代码{
公共静态void main(字符串[]args){
JFrame f=新的JFrame();
f、 setVisible(真);
f、 设置默认关闭操作(3);
f、 可设置大小(假);
新Z(100100);
系统输出打印项次(1);
}
}

您应该了解Java中的线程和多线程

由于您的程序是单线程的,您的无限while循环将阻止任何进一步的代码执行(除了
while
块内的代码执行)。为了避免这种情况,您应该在新线程中运行无限循环

有许多方法/风格可以实现这一点,这是最短的方法之一:

new Thread(new Runnable() {

    @Override
    public void run() {
        // Your infinite loop here
        while(true) {
            System.out.println(0);
        }
    }
}).start();

阅读关于线程的文章。你需要在另一个线程中运行它谢谢,这正是我要找的!