Java基礎之 static用法

  • static用來解決什麼問題?

我們知道,當我們通過new關鍵字去創建對象的時候,數據的存儲空間纔會被分配,類中的成員方法才能被對象所使用。但是有兩種特殊的情況:1、我們通過new關鍵字創建的對象共享同一個資源,而不是說每個對象都擁有自己的數據,或者說根本就不需要去創建對象,這個資源和對象之間是沒有關係的。2、希望某個方法不與包含它的類的任何對象聯繫在一起。總結下來就是說:即使沒有創建對象,也能使用屬性和調用方法,static目的就是在於解決這個問題。

下面舉個例子:

首先是沒有static修飾的:
Control包——>Person類
ControlTest包——>PersonTest類
在主函數調用方法時必須new一個對象進行實例化,否則無法調用speak方法。
如果加上static則不用創建對象,直接使用類名調用方法:
Control包——>Person類
ControlTest包——>PersonTest類
這裏直接使用Person.speak()就調用了方法,不用創建對象。

總結:當一個方法或者變量需要初始化加載,或者是經常被調用的時候可以加上static。
用static修飾的方法可以用類名直接調用,不用的一定要先實例化一個對象然後纔可以調用。

壞處:初始化加載,比較佔內存,所以不經常用的方法,不建議加此關鍵字。

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