java线程同时继承Thread实现Runnable

    技术2025-02-04  26

    java线程有两种创建方式

     

    第一种方式:使用Runnable接口创建线程第二种方式:直接继承Thread类创建对象  使用Runnable接口创建线程1.可以将CPU,代码和数据分开,形成清晰的模型2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法3.有利于保持程序的设计风格一致  直接继承Thread类创建对象1.Thread子类无法再从其它类继承(java语言单继承)。2.编写简单,run()方法的当前对象就是线程对象,可直接操作。在实际应用中,几乎都采取第一种方式

     

     

    上边的是最明显的区别,但是我看到有笔试题会有一个类既继承了Thread又实现Runnable,问是否会出错什么的,今天突然想到了就打算查清楚,我还发现就是去查一个东西还是挺费劲的,百度半天也没找到(也估计是自己不会找),干脆直接在Eclipse里实验了一下,代码如下

    public class TestThread extends Thread implements Runnable{  public void run(){   for(int i = 0;i<100;i++){    System.out.println("this is in the Test:"+i);   }

      }  public static void main(String[] args){    TestThread t = new TestThread ();  Thread thread = new Thread(t);  thread.start(); } 

    }

     

    还有把main方法中的调用改为

      TestThread t = new TestThread ();

      t.start();

    两种调用都是正确的,编译和运行时都不会报错。 

    最新回复(0)