我觉得最本质的你好像没有搞懂,首先 线程的建立可以有两种方式:1,继承Thread类,并复写run方法,然后建立子类对象,start就启用线程了。 2,实现Runnable接口,实现其中的run方法,然后建立一个Thread类的对象,并把实现Runnable接口的对象作为参数传入其中。 这两种方法,都需要复写run的。而第二种方法,真正是线程的是Thread类的对象,但是由于它的参数是实现Runnable接口的对象,所以它运行的方法是这个对象的run。
还有,一般建议用第二种方法,因为避免了单继承的局限性。 |
|