有人可以告诉我这里有什么问题吗?它不打印任何东西。
public class thread {
public static void main(String[] args) {
Thread mythread = new Thread();
mythread.start();
Thread mythread1 = new Thread();
mythread1.start();
}
public class mythread extends Thread{
int i;
public void run() {
for(i = 0; i<10;i++)
System.out.println(i);
}
}
}
答案 0 :(得分:0)
编辑:和一个挑剔:StackOverflow上你的帖子上一个很好的描述性标题也不会受到伤害。你可能比“请帮忙,不行”更好。
答案 1 :(得分:0)
你应该知道:
类始终以大写字母开头(例如MyThread
),后面的每个单词也都以大写字母开头(所以&#39;我的主题&#39; - &gt; class MyThread
)< / p>
为您的班级命名,您可以在其中使用main&#39;因此,例如我的大学使用class Main
或class ProjectRun
等。命名应始终有意义。
当您从父级实施方法时,请始终使用@Override
注释(如下面的代码所示)。
这里有一些代码:
public class Main {
public static void main(String[] args) {
Thread myThread1 = new Main.MyThread();
myThread1.run();
Thread myThread2 = new Main.MyThread();
myThread2.run();
}
public static class MyThread extends Thread {
@Override
public void run() {
for( int i = 0; i < 10; i ++ ) {
System.out.println(i);
}
}
}
}
答案 2 :(得分:0)
有人可以告诉我这里有什么问题吗?它不打印任何东西。
您的代码存在问题:您正在致电:
Thread mythread = new Thread();
相反,你应该:
Thread mythread = new mythread();
你正在分支一个没有做任何事情的线程,因为线程的默认run()
方法只是一个无操作。如果您实例化并启动mythread
课程,则会执行run()
方法。
正如其他人所说,您还应该考虑以下改进:
MyThread
。Runnable
而不是扩展Thread
。int i
,而应使用for (int i = 0 ...
。所以你的代码应该是:
Thread myThread = new Thread(new MyRunnable());
...
public class MyRunnable implements Runnable {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}