若本身類別已經繼承了其他父類別,但又想繼承 Thread 類別,這時就會遇到 Java 無法多重繼承。
想到多重繼承就會想到 介面,在[JAVA]多重繼承中提到:透過 介面 就能達到多重繼承。
class multi_Test implements Runnable
{
private String name;
public multi_Test(String str)
{
name=str;
}
public void run()
{
}
}
public void run()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<100000000;j++);
System.out.println(id+" is running..");
}
}
multi_Test apple=new multi_Test("apple");
multi_Test pen=new multi_Test("pen");
Thread m1=new Thread(apple);
Thread m2=new Thread(pen);
m1.start();
m2.start();
class multi_Test implements Runnable
{
private String name;
public multi_Test(String str)
{
name=str;
}
public void run()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<100000000;j++);
System.out.println(id+" is running..");
}
}
}
public class multi_thread_3
{
public static void main(String args[])
{
multi_Test apple=new multi_Test("apple");
multi_Test pen=new multi_Test("pen");
Thread m1=new Thread(apple);
Thread m2=new Thread(pen);
m1.start();
m2.start();
}
}
class multi_Test extends m_test implements Runnable
{
...
}
以上意思:multi_Test 類別繼承 m_test 類別 並實作 Runnable 介面
這麼一來multi_Test 可以使用多執行緒,又能繼承 m_test 類別。