1.继承Thread类,需要重写父类的run()方法,其目的是规定线程的具体操作,否则线程就什么也不做,因为在父类的run()方法中没有任何操作语句,此种方法的优点是可以在子类中增加新的成员变量,使线程具有某种属性;也可以在子类中新增方法,是线程具有某种功能。
2. 实现 Runnable接口,将该类绑定到新建的Thread对象上,当线程启动后,目标对象就会自动调用接口中的run()方法。
一般都建议用第二种方法,因为java中的类是单继承的,一旦类继承了其他的类之后就能再继承thread了,而接口可以实现多个,而且操作起来更具有灵活性。
|