Java語言static關鍵字
導語:Java語言static的靜態屬性是用來修飾成員變量和成員函數,下面讓我們一起了解一下這種關鍵詞吧!
1、static關鍵字:
(1)靜態的意思,用來修飾成員變量和成員函數
(2)靜態的特點:
隨着類的加載而加載
優先於對象存在
對所有對象共享
可以被類名直接調用
(3)靜態的注意事項
A:靜態方法只能訪問靜態成員
為什麼:因為靜態的內容是隨着類的加載而加載,它是先進內存的。
B:靜態方法中不能使用this,super關鍵字
C:主方法是靜態的
public static void main(String[] args)
public:公共的意思,是最大權限修飾符。
static:由於jvm調用main方法的時候,沒有創建對象。
只能通過類名調用。所以,main必須用static修飾。
void:由於main方法是被jvm調用,不需要返回值。用void修飾。
main:main是主要的意思,所以jvm採用了這個名字。是程序的入口。
String[]:字符串數組
args:數組名
在運行的時候,通過java命令給args數組賦值。
格式:java MainTest hello world itcast
(4)靜態變量和成員變量的區別
A:調用方式
靜態變量也稱為類變量,可以直接通過類名調用。也可以通過對象名調用。
這個變量屬於類。
成員變量也稱為實例變量,只能通過對象名調用。這個變量屬於對象。
B:存儲位置
靜態變量存儲在方法區長中的靜態區。
成員變量存儲在堆內存。
C:生命週期
靜態變量隨着類的加載而存在,隨着類的消失而消失。生命週期長。
成員變量隨着對象的.創建而存在,隨着對象的消失而消失。
D:與對象的相關性
靜態變量是所有對象共享的數據。
成員變量是每個對象所特有的數據。
(5)靜態的優點和弊端
優點:
對對象的共享數據進行單獨空間的存儲,節省內存,沒有必要每個對象都存儲一份
可直接被類名調用
弊端:
生命週期過長,隨着類的消失而消失
訪問出現權限,即靜態雖好但只能訪問靜態
(6)什麼使用使用靜態呢?
A:當所有對象共享某個數據的時候,就把這個成員變量定義為靜態修飾的。
B:當某個方法沒有訪問該類中的非靜態成員,就可以把這個方法定義為靜態修飾。
靜態的生命週期比較長,所以一般不推薦使用。
(7)靜態代碼塊
A:它只執行一次,它比main還先執行。
B:執行順序
靜態代碼塊--構造代碼塊--構造方法
-
Java Class文件是什麼
Class類是在Java語言中定義一個特定類的實現。一個類的定義包含成員變量,成員方法,還有這個類實現的接口,以及這個類的父類。Class類的對象用於表示當前運行的Java應用程序中的類和接口。比如:每個數組均屬於一個Class類對象,所有具有相同元素類型和維數的數組共享...
-
Java類加載器類介紹
類加載器是Java語言的一個創新,也是Java語言流行的重要原因之一。它使得Java類可以被動態加載到Java虛擬機中並執行。以下是小編為大家搜索整理的java類加載器,希望能給大家帶來幫助!更多精彩內容請及時關注我們。類加載器:java虛擬機中可以安裝多個類加載,系統默...
-
java日期時間基本操作方法
1.獲得Calendar實例:Calendarc=nstance();2.定義日期/時間的格式:SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");3.把日期/時間轉換成固定格式,使用SimpleDateFormat的'format()方法:Stringdatetime=at(ime());4.把字符串轉換成日期/時間,...
-
經典Java基礎面試題
Java技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、遊戲控制枱、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社羣。下面小編給大家介紹經典Java基礎面試題,歡迎閲讀!經典Java基礎面試題1、如果main方法被聲明為...