Java 线程对象实现错误代码分析

问题: Jerry想要实现一个线程对象,以下哪个代码是错误的?

选项:

A. ```java class InfoManage extends Thread { public static void main(String[] args) { InfoManage im = new InfoManage(); im.start(); } }


B. ```java
class InfoManage implements Runnable {
    @Override
    public void run() {
        System.out.println('running');
    }
    public static void main(String[] args) {
        InfoManage im = new InfoManage();
        im.start();
    }
}

C. ```java class InfoManage { public static void main(String[] args) { Thread t = new Thread(new Runnable() { @Override public void run() { System.out.println('running'); } }); t.start(); } }


D. ```java
class InfoManage implements Runnable {
    @Override
    public void run() {
        System.out.println('running');
    }
    public static void main(String[] args) {
        InfoManage im = new InfoManage();
        Thread t = new Thread(im);
        t.start();
    }
}

答案: C

解释:

选项C中的InfoManage类既没有继承Thread类,也没有实现Runnable接口。在Java中,要创建一个线程对象,需要满足以下两种方式之一:

  1. 继承Thread类:InfoManage类继承Thread类,并重写run()方法,该方法包含线程要执行的代码。
  2. 实现Runnable接口:InfoManage类实现Runnable接口,并实现run()方法,该方法包含线程要执行的代码。然后,创建一个Thread对象,并将InfoManage对象作为参数传入。

选项A、B、D都满足了上述条件,因此都是正确的代码。而选项C因为没有实现任何线程相关的接口,所以无法作为线程对象使用。

结论: 要正确创建线程对象,必须继承Thread类或实现Runnable接口。选项C中InfoManage类既没有继承Thread类也没有实现Runnable接口,因此无法作为线程对象使用,所以代码是错误的。

Java 线程对象实现错误代码分析

原文地址: https://www.cveoy.top/t/topic/ozZr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录