2 qq 27836205 qq_27836205 于 2017.12.14 11:54 提问

Thread里面用内部类的写法 外部类还需要继承Thread或实现runnable了吗? 5C

Thread里面用内部类的写法 里面已经重写了run方法 外部类还需要继承Thread或实现runnable了吗?是不是不用继承接口或实现类了?直接可以实现线程了吧?

图片说明

12个回答

avenccssddnn
avenccssddnn   Rxr 2017.12.14 15:47

不用了。。显然java基础不太行,楼主。

caozhy
caozhy   Ds   Rxr 2017.12.14 11:58

如果你的内部类直接作为参数传给线程的话,外部类不需要再实现接口了。

jsj66wc
jsj66wc   2017.12.14 11:57

main 方法就是主线程,在主线程里可以通过new Thread(Runnable r).start()直接启动线程运行

qq_27836205
qq_27836205 那如果不是main方法里面呢?其他普通方法里面的这种写法 外部类还要继承thread或实现runnable吗
4 个月之前 回复
wb_snail
wb_snail   2017.12.14 13:10

不管怎样,你用Thread或者Runnable都必须实现run方法,用类继承Thread或者实现Runnable可以,你的这种写法当然也可以,匿名内部类继承了Thread,实现了Runnable
道理一样啊

renjiazhuo123
renjiazhuo123   2017.12.14 13:48

继承thread或者实现runnable只是为了方便直接传入this,this就是代表实现的那个runnable,比如多个runnable都是类似的,那么直接实现runnable,然后传入this就可以了,不需要每个都new runnable

oyljerry
oyljerry   Ds   Rxr 2017.12.14 13:53

跟你外面的类没什么关系,不管是你在Thread中内部实现run还是用Runnable实现run,他们就是两种定制化线程的方式,你把这部分放到另一个类,也能启动线程,你外部类不需要有什么处理
主要是看你new Thread的时候,有没有对应的实现

MikeDDT009
MikeDDT009   2017.12.14 14:04

再说线程之前必须指出,你图片里面说这个类没有任何和继承是错误的,它隐性继承了Object这个类!
而线程来说,不需要你去考虑具体实现什么的,你所做的只是让它独立于主线程同时运行。那么只需要知道怎么实现线程的效果,仅仅两点,实现接口,继承。甚至这两点在本质上其实差别也不大,都是调用Thread类来做,区别只在于,一个有前戏一个没前戏

qq_28827039
qq_28827039   2017.12.14 14:36

楼主看代码。。。。

 package daemon;

public class ThreadDe {
    public static void main(String[] args) {
//      test();
        (new ThreadDetest()).test();
    }

//  private static void test(){
//      new Thread(new ThreadDemoTest()).start();
//  }
}

//不用继承和实现
class ThreadDetest {
    public void test(){
        new Thread(new ThreadDemoTest()).start();
    }
}

class ThreadDemoTest implements Runnable{   
    @Override
    public void run() {
        System.out.println("aaa");
    }
} 
m0_37647810
m0_37647810   2017.12.14 16:46

如果让一个线程实现Runnable接口,那么当调用这个线程的对象开辟多个线程时,可以让这些线程调用同一个变量;若这个线程是由继承Thread类而来,则要通过内部类来实现上述功能,利用的就是内部类可任意访问外部变量这一特性。

Mr_Huang_ning
Mr_Huang_ning   2017.12.15 11:10

匿名内部类,底层其实是相当于继承或者实现类和接口

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!