- 搞定~一晃就是299天,恍如隔世通常,看來,堅持的方法已經算搞明白了。
java Thread中,run方法和start方法的區別,下面說法錯誤的是?
正確答案: Bjava
兩種方法的區別: 1.start方法 用 start方法來啓動線程,是真正實現了多線程, 經過調用Thread類的start()方法來啓動一個線程,這時此線程處於就緒(可運行)狀態,並無運行,一旦獲得cpu時間片,就開始執行run()方法。但要注意的是,此時無需等待run()方法執行完畢,便可繼續執行下面的代碼。因此run()方法並無實現多線程。 2.run方法 run()方法只是類的一個普通方法而已,若是直接調用Run方法,程序中依然只有主線程這一個線程,其程序執行路徑仍是隻有一條,仍是要順序執行,仍是要等待run方法體執行完畢後纔可繼續執行下面的代碼。
關於抽象類與最終類,下列說法錯誤的是?
正確答案: D 你的答案: C (錯誤)多線程
最終類就是被final修飾的類,最終方法就是被final修飾的方法。最終類不能被繼承,最終方法不能被重寫。
對於選項B. 抽象類和最終類均可以被聲明使用。 這裏只是說「聲明」,並無說「實例化」;若是隻是聲明是能夠的,最多見的使用方式就是: 一、父類類型的引用指向子類的對象; 二、 接口類型的引用指向該接口的實現類的對象; 以上兩種使用方式也就是所謂的「向上轉型」。
抽象類時專門拿來被繼承的,其實也能夠沒有抽象方法。抽象類是不能實例化的,實例化必將加載類,而後根本不知道抽象方法的方法體大小,因此不能實例化。 而final類,之因此被定義爲final類是認爲這個類已經很完美了,不但願被繼承被擴展或者被修改。final方法是能夠被繼承的,可是不能夠被覆蓋。