Java 構造方法的修飾符

不同於普通方法,構造方法(器)不能是abstract, static, final, native, strictfp, 或者synchronized的。原因如下:

  1. 構造器不是通過繼承得到的,所以沒有必要把它聲明爲final的。
  2. 同理,一個抽象的構造器將永遠不會被實現。(所以也不能聲明爲abstract的)
  3. 構造器總是關聯一個對象而被調用,所以把它聲明爲static是沒有意義的。
  4. 沒有實際的需要把構造器定義成同步的,因爲它將會在構造的時候鎖住該對象,直到所有的構造器完成它們的工作,這個構造的過程對其它線程來說,通常是不可訪問的。 (synchronized)
  5. 本地化的方法情況特別複雜,所以JVM調用起來非常麻煩,需要考慮很多種情況,沒有native關鍵字的情況下,JVM實現起來比較容易。

參考:http://www.cnblogs.com/plmnko/archive/2010/10/16/1852871.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章