中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中的static關鍵字和靜態變量、靜態方法

發布時間:2021-09-04 21:32:25 來源:億速云 閱讀:159 作者:chen 欄目:web開發

本篇內容介紹了“Java中的static關鍵字和靜態變量、靜態方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、static關鍵字

使用static修飾的變量和方法分別稱為類變量(或稱靜態變量)和類方法(或稱靜態方法),沒有使用static修飾的變量和方法分別稱為實例變量和實例方法。

二、靜態變量

1.什么是靜態變量

使用static關鍵字修飾成員變量,這個變量叫做靜態變量。

2.例如多個圓形對象,那每個圓形對象都有自己的半徑(radius)和圓周率(PI),因為圓周率是一個固定的常數3.141596,不用每個圓形對象各自擁有。圓周率(PI)作為共享的,每個圓形對象的半徑可能是不一樣的。

3.如何使用靜態變量

例如:

//圓形類 public class Ball { public double radius;//圓的半徑 static double PI=3.141956;//圓周率 public static void main(String[] args) { // TODO Auto-generated method stub     Ball b1=new Ball();//創建第一個圓形對象     Ball b2=new Ball();//創建第二個圓形對象     Ball.PI=3.141596;//靜態變量賦值     b1.radius=5;//給第一個圓形的半徑賦值     b2.radius=8;//給第一個圓形的半徑賦值     System.out.println("第一個圓形對象的圓周率:"+b1.PI+"  "+"半徑為:"+b1.radius);//打印第一個圓形的圓周率和半徑     System.out.println("第二個圓形對象的圓周率:"+b2.PI+"  "+"半徑為:"+b2.radius);//打印第二個圓形的圓周率和半徑   } }

輸出的結果是:

第一個圓形對象的圓周率:3.141956 半徑為:5.0

第二個圓形對象的圓周率:3.141956 半徑為:8.0

上面的代碼中,在Ball類中定義了一個靜態變量PI,用來表示圓周率它是作為所有實例的所共享,因為這個圓周率(PI)是靜態變量可以直接使用Ball.PI的方式調用,也可以使用實例化對象調用,b1.PI。第一個圓形對象和第二個圓形對象的PI屬性均為3.141596。

三、靜態方法

1.什么是靜態方法

靜態變量和方法可以在不創建對象的情況下進行訪問。靜態方法在類的定義方法前面加static就叫做靜態方法。

2.靜態方法的訪問格式同靜態變量一樣

類名.方法名

3.怎么使用靜態方法

public class Ball01 { public double radius;//圓的半徑 public static double PI=3.141596;//圓周率 //角度轉徑度 public static double toRadius(double angdeg){   return angdeg*(Ball01.PI/180); }  public static void main(String[] args) { // TODO Auto-generated method stub //Ball01 b1=new Ball01();//創建一個圓的對象   System.out.print(Ball01.toRadius(100));//調用對象的靜態方法   } }

輸出的結果是:

1.745331111111111

在上面代碼中,在Ball01類定義了一個靜態的方法toRadius()角度轉徑度,通過對象實例化調用對象的靜態方法。一個靜態方法只能訪問static修飾的成員,因為沒有被static修飾的成員首先需要創建對象才能訪問,而在靜態方法調用可以不用創建對象。

四、靜態代碼塊

1.什么是靜態代碼塊

靜態代碼塊是使用一個大括號{}包圍很多行的代碼,并用static關鍵字修飾的代碼。

2.隨著類的加載而執行,而且只執行一次。一般是使用靜態代碼塊來對類成員變量進行初始化。

3.靜態代碼塊和非靜態代碼塊的寫法

靜態代碼塊:

靜態代碼塊: static{ }  非靜態代碼塊: { }

4.怎么使用靜態代碼塊

例如:

class Person3{   static String name;   //靜態代碼塊   static{     name="李華";     System.out.println("Person3類的靜態代碼執行...");   } }  public class test { //靜態代碼塊 static{   System.out.println("測試類的靜態代碼執行..."); } public static void main(String[] args) { // TODO Auto-generated method stub     Person3 p1=new Person3();//創建第一個Person3對象     Person3 p2=new Person3();//創建第二個Person3對象   } }

運行的結果是:

  • 測試類的靜態代碼執行...

  • Person3類的靜態代碼執行...

我們從運行的結果可以看出,兩個靜態代碼塊都被執行。首先是加載類test,在加載類的同時加載靜態代碼塊,然后執行主程序main()。在main方法中創建兩個Person3對象,兩次實例化對象后,靜態代碼只執行一次,就說明了隨著類的加載而執行,而且只執行一次。

“Java中的static關鍵字和靜態變量、靜態方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高要市| 呈贡县| 中阳县| 息烽县| 云龙县| 荃湾区| 富川| 景东| 科尔| 唐河县| 桐柏县| 奎屯市| 苍溪县| 福泉市| 四平市| 吴堡县| 定兴县| 平潭县| 丰都县| 囊谦县| 汤原县| 闵行区| 崇左市| 白朗县| 彝良县| 乌兰县| 镇宁| 邯郸县| 抚远县| 重庆市| 开原市| 突泉县| 义马市| 阜康市| 泽州县| 黄龙县| 项城市| 宁河县| 祁东县| 镶黄旗| 牙克石市|