Re: [問題] new classA().start();
這個程式有應用到 multithreading.
ClassA 這個 class 有繼承 Thread 這依個 class
所以他會 implement run 這一個 method.
當呼叫 start() 這個 method 之後, JVM 會把 ClassA
這一個 thread 放到 runnable 的 status, 等待 JVM 給她
CPU 時間 (running status), CPU 就會去執行它的 run method.
這樣寫應該比較清楚
public class ClassA extends Thread
{
public void run()
{
......
}
}
另依個檔案 MyProgram.java
public class MyProgram
{
ClassA myVar = NULL;
public static void main(String[] args)
{
//開啟依個 thread, 可以這樣
new ClassA.start();
// 也可以這樣
myVar = new ClassA();
myVar.start();
}
}
※ 引述《zuda (組達)》之銘言:
: 各位前輩好,
: 我有看書學了一點基本的java
: 現在在試著看別人寫的程式,希望能瞭解並且應用
: 碰到一個人寫的
: new classA().start();
: 我的基本java書裡面
: 用到new都是在建立一個類別時呼叫建構子用的
: 那這樣 雖然實作但沒有assign給任何物件,並且後面又加個.start()是什麼?
: (我有去查classA,並沒有重新定義constructor,從這裡我就失去線索了...XD)
: 麻煩各位解答,如果問題太笨 還請手下留情XD
--
http://fungileo.com
website under major reconstruction
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.236.142.69
推
12/21 22:30, , 1F
12/21 22:30, 1F
java 近期熱門文章
PTT數位生活區 即時熱門文章