自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇文章帶你了解Java中的static關(guān)鍵字和靜態(tài)變量、靜態(tài)方法

開發(fā) 前端
使用static修飾的變量和方法分別稱為類變量(或稱靜態(tài)變量)和類方法(或稱靜態(tài)方法),沒有使用static修飾的變量和方法分別稱為實例變量和實例方法。

[[356824]]

一、static關(guān)鍵字

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

二、靜態(tài)變量

1.什么是靜態(tài)變量

使用static關(guān)鍵字修飾成員變量,這個變量叫做靜態(tài)變量。

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

3.如何使用靜態(tài)變量

例如:

  1. //圓形類 
  2. public class Ball { 
  3. public double radius;//圓的半徑 
  4. static double PI=3.141956;//圓周率 
  5. public static void main(String[] args) { 
  6. // TODO Auto-generated method stub 
  7.     Ball b1=new Ball();//創(chuàng)建第一個圓形對象 
  8.     Ball b2=new Ball();//創(chuàng)建第二個圓形對象 
  9.     Ball.PI=3.141596;//靜態(tài)變量賦值 
  10.     b1.radius=5;//給第一個圓形的半徑賦值 
  11.     b2.radius=8;//給第一個圓形的半徑賦值 
  12.     System.out.println("第一個圓形對象的圓周率:"+b1.PI+"  "+"半徑為:"+b1.radius);//打印第一個圓形的圓周率和半徑 
  13.     System.out.println("第二個圓形對象的圓周率:"+b2.PI+"  "+"半徑為:"+b2.radius);//打印第二個圓形的圓周率和半徑 
  14.   } 

輸出的結(jié)果是:

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

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

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

三、靜態(tài)方法

1.什么是靜態(tài)方法

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

2.靜態(tài)方法的訪問格式同靜態(tài)變量一樣

  1. 類名.方法名 

3.怎么使用靜態(tài)方法

  1. public class Ball01 { 
  2. public double radius;//圓的半徑 
  3. public static double PI=3.141596;//圓周率 
  4. //角度轉(zhuǎn)徑度 
  5. public static double toRadius(double angdeg){ 
  6.   return angdeg*(Ball01.PI/180); 
  7.  
  8. public static void main(String[] args) { 
  9. // TODO Auto-generated method stub 
  10. //Ball01 b1=new Ball01();//創(chuàng)建一個圓的對象 
  11.   System.out.print(Ball01.toRadius(100));//調(diào)用對象的靜態(tài)方法 
  12.   } 

輸出的結(jié)果是:

  1. 1.745331111111111 

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

四、靜態(tài)代碼塊

1.什么是靜態(tài)代碼塊

靜態(tài)代碼塊是使用一個大括號{}包圍很多行的代碼,并用static關(guān)鍵字修飾的代碼。

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

3.靜態(tài)代碼塊和非靜態(tài)代碼塊的寫法

靜態(tài)代碼塊:

  1. 靜態(tài)代碼塊: 
  2. static
  3.  
  4. 非靜態(tài)代碼塊: 

4.怎么使用靜態(tài)代碼塊

例如:

  1. class Person3{ 
  2.   static String name
  3.   //靜態(tài)代碼塊 
  4.   static
  5.     name="李華"
  6.     System.out.println("Person3類的靜態(tài)代碼執(zhí)行..."); 
  7.   } 
  8.  
  9. public class test { 
  10. //靜態(tài)代碼塊 
  11. static
  12.   System.out.println("測試類的靜態(tài)代碼執(zhí)行..."); 
  13. public static void main(String[] args) { 
  14. // TODO Auto-generated method stub 
  15.     Person3 p1=new Person3();//創(chuàng)建第一個Person3對象 
  16.     Person3 p2=new Person3();//創(chuàng)建第二個Person3對象 
  17.   } 

運行的結(jié)果是:

  • 測試類的靜態(tài)代碼執(zhí)行...
  • Person3類的靜態(tài)代碼執(zhí)行...

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

五、總結(jié)

本文主要介紹了static關(guān)鍵字、靜態(tài)變量、靜態(tài)方法、靜態(tài)代碼塊。

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

靜態(tài)變量是使用static關(guān)鍵字修飾成員變量,如何使用靜態(tài)變量案例理解這個用法。靜態(tài)方法是在類的定義方法前面加static,通過一個怎么去使用靜態(tài)方法案例幫助理解。

靜態(tài)代碼塊是使用一個大括號{}包圍很多行的代碼,并用static關(guān)鍵字修飾的代碼。希望通過本文的學(xué)習(xí),對你有所幫助!

本文轉(zhuǎn)載自微信公眾號「Java進階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系Java進階學(xué)習(xí)交流公眾號。

 

責(zé)任編輯:武曉燕 來源: Java進階學(xué)習(xí)交流
相關(guān)推薦

2021-04-23 10:01:19

JavaScript 關(guān)鍵字對象

2020-12-29 05:31:33

單例模式this關(guān)鍵字

2020-12-28 13:22:47

單例模式關(guān)鍵字

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端

2023-09-06 14:57:46

JavaScript編程語言

2021-01-07 11:10:47

關(guān)鍵字

2022-01-15 10:02:03

Java Hashtable類 Java 基礎(chǔ)

2023-05-08 08:21:15

JavaNIO編程

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺

2021-08-12 14:19:14

Slice數(shù)組類型內(nèi)存

2009-12-10 13:31:20

PHP self關(guān)鍵字

2020-10-27 10:05:32

JavaScript 數(shù)組迭代

2023-09-01 16:32:36

JavaScript

2023-10-10 15:29:36

JavaScript開發(fā)

2023-07-30 15:18:54

JavaScript屬性

2021-03-09 14:04:01

JavaScriptCookie數(shù)據(jù)

2021-06-24 09:05:08

JavaScript日期前端

2021-09-27 09:18:30

ListIterato接口方法

2024-01-30 13:47:45

點贊
收藏

51CTO技術(shù)棧公眾號