欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java里面,創建對象放在main方法外面為什么要用static修飾?

林玟書2年前12瀏覽0評論

作為一名從業多年的程序員,同時也出版過Java編程書籍,我來回答一下這個問題。

首先,在main方法外部創建對象是不需要添加static修飾符的,看一個具體的實例:

但是,如果在main方法當中要想使用這個對象,那么這個對象就需要使用static修飾符進行修飾了,否則會提示錯誤,看一下具體的實例:

原因是static修飾的main方法是隨著類的加載而加載,要想保證main方法能夠有效使用外部的對象,則這個外部的對象要與main方法保持同步的加載。

static在Java語言當中是一個比較特殊的存在,普通的應用級開發,比如Web開發很少會用到static修飾符,在某些場景下甚至會嚴格限制static的應用,因為會涉及到同步問題。而在研發級開發領域,static卻是比較重要的存在,尤其是在資源管理方面,合理的使用static能夠明顯提升系統的運行效率。

static在Java語言中的基本應用有三種情況,其一是修飾屬性,也稱為“類屬性”,特點是隨著類的加載而加載,同時能夠在對象間共享(同一個類);其二是修飾方法,也稱為“類方法”或者“靜態方法”,特點是可以直接通過類的名字進行訪問;其三是修飾程序塊,特點是隨著類的加載而加載,但是只加載一次,是一種介于方法和構造器之間的一種應用。

另外,內部類一旦使用static修飾之后,會升級為“頂級類”,可以直接在外部創建其對象,內部類中也可以定義static屬性和static方法,這也是比較重要的一個特點。看一個例子:

除了以上應用之外,在進行程序調試的時候,Java程序員為了“方便”也經常使用static修飾符,但是在調試結束之后,通常要把static修飾符去掉。

最后,static修飾符是一柄雙刃劍,用得好能夠明顯提升程序的執行效率,用得不好不僅會加大系統的整體資源消耗,同時也會帶來并發問題和穩定問題,所以static應該慎用。當不確定是否應該使用static的時候,默認的選擇應該是不用。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關于互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言!