为什么不调用实现Runnable接口的类的构造函数?

arsingh1212

我尝试使用实现RunnableInterface的类的构造函数但是我很惊讶地发现它从未被调用过。run()方法被调用,但是构造函数从未被调用。我已经编写了一个简单的示例代码来显示这种现象。谁能解释为什么会这样?

public class MyRunner implements Runnable {

    public void MyRunner() {
        System.out.print("Hi I am in the constructor of MyRunner");
    }

    @Override
    public void run() {
        System.out.println("I am in the Run method of MyRunner");
    }

    public static void main(String[] args){
        System.out.println("The main thread has started");
        Thread t = new Thread(new MyRunner());
        t.start();
    }
}
周杰伦

更改public void MyRunner()public MyRunner()(无返回类型)。public void MyRunner()不是构造函数,而是方法。构造函数声明没有返回类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不调用实现Runnable接口的类的构造函数?

来自分类Dev

为什么不调用基类中的静态构造函数?

来自分类Dev

为什么不调用move构造函数?

来自分类Dev

为什么不调用复制构造函数

来自分类Dev

为什么operator *不调用构造函数?

来自分类Dev

为什么super()仅调用类Parent1的构造函数而不调用类Parent2的构造函数?

来自分类Dev

为什么不调用我的基类中的静态构造函数?

来自分类Dev

为什么在函数返回时不调用复制构造函数?

来自分类Dev

为什么此函数不调用move构造函数?

来自分类Dev

为什么不调用模板化副本构造函数?

来自分类Dev

为什么我的通用类构造函数拒绝接受实现所请求接口的对象

来自分类Dev

为什么不调用继承类的析构函数?

来自分类Dev

为什么std :: vector :: emplace调用析构函数而不调用任何拷贝构造函数?

来自分类Dev

为什么不调用此函数?

来自分类Dev

为什么不调用该函数?C ++

来自分类Dev

为什么 debounce 不调用我的函数?

来自分类Dev

为什么不调用 viewDidLoad 函数?

来自分类Dev

为什么即使不调用公用副本构造函数也是如此?

来自分类Dev

为什么以下代码不调用std :: string的move构造函数?

来自分类Dev

为什么在没有std :: move的情况下不调用move构造函数?

来自分类Dev

为什么第二次不调用构造函数?

来自分类Dev

为什么在这种情况下不调用复制构造函数?

来自分类Dev

为什么即使不调用公用副本构造函数也是如此?

来自分类Dev

为什么第二次不调用构造函数?

来自分类Dev

为什么在构造函数之前调用类的成员方法

来自分类Dev

为什么在构造时调用C ++类的析构函数?

来自分类Dev

为什么必须调用基类构造函数?

来自分类Dev

为什么在构造时调用C ++类的析构函数?

来自分类Dev

为什么没有调用 Cups 类的构造函数?

Related 相关文章

  1. 1

    为什么不调用实现Runnable接口的类的构造函数?

  2. 2

    为什么不调用基类中的静态构造函数?

  3. 3

    为什么不调用move构造函数?

  4. 4

    为什么不调用复制构造函数

  5. 5

    为什么operator *不调用构造函数?

  6. 6

    为什么super()仅调用类Parent1的构造函数而不调用类Parent2的构造函数?

  7. 7

    为什么不调用我的基类中的静态构造函数?

  8. 8

    为什么在函数返回时不调用复制构造函数?

  9. 9

    为什么此函数不调用move构造函数?

  10. 10

    为什么不调用模板化副本构造函数?

  11. 11

    为什么我的通用类构造函数拒绝接受实现所请求接口的对象

  12. 12

    为什么不调用继承类的析构函数?

  13. 13

    为什么std :: vector :: emplace调用析构函数而不调用任何拷贝构造函数?

  14. 14

    为什么不调用此函数?

  15. 15

    为什么不调用该函数?C ++

  16. 16

    为什么 debounce 不调用我的函数?

  17. 17

    为什么不调用 viewDidLoad 函数?

  18. 18

    为什么即使不调用公用副本构造函数也是如此?

  19. 19

    为什么以下代码不调用std :: string的move构造函数?

  20. 20

    为什么在没有std :: move的情况下不调用move构造函数?

  21. 21

    为什么第二次不调用构造函数?

  22. 22

    为什么在这种情况下不调用复制构造函数?

  23. 23

    为什么即使不调用公用副本构造函数也是如此?

  24. 24

    为什么第二次不调用构造函数?

  25. 25

    为什么在构造函数之前调用类的成员方法

  26. 26

    为什么在构造时调用C ++类的析构函数?

  27. 27

    为什么必须调用基类构造函数?

  28. 28

    为什么在构造时调用C ++类的析构函数?

  29. 29

    为什么没有调用 Cups 类的构造函数?

热门标签

归档