你好,因为继承是通过复写父类中的run()方法,然后通过调用父类的start()方法来达到多个线程的目的的。但是在执行的时候是不是要创建多个对象呢?这样,每个对象在执行的时候都有属于他们自己的属性和行为。比如买100张票。你4个线程通过继承的方式执行的话就会出现400张票。因为每个对象都有100张。4个线程就是400张。为了达到4个线程一共买100张就只能把票数定义成静态的让4个线程共享了。而实现接口不一样。实现接口是通过复写run方法。然后把接口的子类对象传给Thread()对象的方式来实现多线程的。这是资源类。。也就是票就自始之终只出现一次。因为就只创建了一个对象。所以就不用定义静态。讲资源类传给thread()后,调用start();方法就可以执行了。。也不知道你能不能看懂。不懂的话你告诉我你哪里迷糊。我给你解释 |