gpt4 book ai didi

java - 为什么多线程中的 run() 方法不能是静态的?

转载 作者:行者123 更新时间:2023-12-01 06:37:59 25 4
gpt4 key购买 nike

我是多线程编程的新手,当我将 run() 方法声明为静态时,它给出的编译器错误为

"This static method cannot hide the instance method from Thread".

我不明白这是什么意思,所以请帮助我。

public class hello extends Thread {

public static synchronized void run() {
for(int i=0;i<1000;i++)
System.out.println(i);
}

public static void main(String[] args) {
hello t1 = new hello();
hello t2 = new hello();

t1.start();
t2.start();

}
}

最佳答案

这不一定与多线程编程相关,一般来说 Java 都是如此。如果您有类(class):

public class MySuperclass {
public void myMethod() {
//do stuff
}
}

不能然后覆盖它以使其静态:

public class MySubclass extends MySuperclass {
public static void myMethod() {
//do other stuff
}
}

这是不允许的。这就是错误消息的含义。

关于java - 为什么多线程中的 run() 方法不能是静态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com