java - 无法理解声明

标签 java

我有一个代码片段

public class ThreadStates {
    private static Thread t1 = new Thread("T1") {
        public void run() {
            try {
                sleep(2);
                for (int i = 100; i > 0; i--) ;
            } catch (InterruptedException ie) {
                ie.printStackTrace();
            }
        }
    }
}

......其余代码如下。

第1步是什么类型的声明。我可以看到ThreadStates类中没有继承Thread类,那为什么会出现run()方法声明呢。请澄清发生了什么事。

最佳答案

您已经创建了一个继承自 Thread 的匿名内部类(请注意紧跟在 new Thread() 之后的 {。您正在给出这个类一个 run 方法,并将其存储在 t1 中。

关于java - 无法理解声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191407/

相关文章:

java - 多态性和构造函数

java.lang.NoSuchFieldError : INSTANCE Exception While Running Appium Android Test

java - 为什么从对话框 fragment 运行时列表 fragment 上的 getActivity() 不起作用

java - 如何等待 Selenium webdriver 中的警报?

java - 如何使用一个Bootstrap连接Netty中的多个服务器

java - 二维码扫描器android,onActivityResult方法不调用并且Toast不显示

Java:BufferedReader 的替代方案

java - 在Java设计中组合不再被使用得太多了吗?

java - Spring: Autowiring 字段为空

javascript - "test"javascript 变量和 "#test"变量有什么区别我可以将 var javascript 转换为 "#test"