欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java基礎之static關鍵字的使用講解

 更新時間:2021年07月30日 10:29:21   作者:sky-緣  
這篇文章主要介紹了Java基礎之static關鍵字的使用講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

static關鍵字

在Java中,static是靜態(tài)修飾關鍵字。用于修飾類的成員方法、類的成員變量,另外可以編寫static代碼塊來優(yōu)化程序性能;被static關鍵字修飾的方法或者變量不需要依賴于對象來進行訪問,只要類被加載了,就可以通過類名去進行訪問。

static關鍵字的作用

方便在沒有創(chuàng)建對象的情況下來進行調用方法或者變量。被static關鍵字修飾的方法或者變量不需要依賴對象來進行訪問,只要類被加載了,就可以通過類名去訪問。

1.static修飾成員方法

static修飾的方法稱為靜態(tài)方法,由于靜態(tài)方法不依賴任何對象就能夠訪問,因此靜態(tài)方法中不能用this和super關鍵字,不能直接訪問所屬類的實例變量和實例方法,只能訪問所屬類的靜態(tài)成員變量和成員方法。代碼示例:

從上面代碼看出,在靜態(tài)方法t2調用非靜態(tài)成員變量age和非靜態(tài)成員方法t1時,系統(tǒng)報錯。同時在靜態(tài)方法t3中調用靜態(tài)方法t2,編譯通過。得出結論:在靜態(tài)方法中不能訪問非靜態(tài)成員變量和非靜態(tài)成員方法,但在非靜態(tài)成員方法中能夠訪問靜態(tài)成員方法和靜態(tài)成員變量。同時靜態(tài)的只能訪問靜態(tài)的。

 2.static修飾成員變量

按照是否是靜態(tài)的可對類成員變量進行分類:一種是被static修飾的變量,叫做靜態(tài)變量或者類變量;另一種是沒有被static修飾的變量,叫實例變量。

靜態(tài)變量和非靜態(tài)變量的區(qū)別:

  • 靜態(tài)變量被所有對象共享,在內存中只有一個副本,在類初次加載的時候才會初始化。
  • 非靜態(tài)變量是對象所擁有的,在創(chuàng)建對象的時候被初始化,存在多個副本,各個對象擁有的副本互不影響。

static成員變量的初始化順序按照定義的順序進行初始化。

3.static修飾代碼塊

static關鍵字還可用來形成靜態(tài)代碼塊來優(yōu)化程序性能,原因是它的特性:只會在類被初次加載的時候執(zhí)行一次。

靜態(tài)方法只能繼承,不能重寫

代碼示例如下:

上面代碼中在父類和子類中各自定義一個aa方法,在左邊顯示為Override標識;但在父類和子類中各自定義一個static方法test,但并沒有出現(xiàn)Override標識,由此可知用static修飾的方法不能被重寫。同時,如果子類不用static關鍵字修飾,繼承父類時編譯出錯,可知靜態(tài)方法只能被靜態(tài)方法繼承。

總結

  • static是一個修飾符,用來修飾成員,被修飾的成員變量稱為靜態(tài)變量或類變量。
  • static修飾的成員被所有的對象共享。
  • static修飾的成員能直接被類名調用,形式為:類名.靜態(tài)成員。
  • 靜態(tài)的只能訪問靜態(tài)的。
  • static關鍵字不能改變變量和方法的訪問權限。
  • 靜態(tài)成員變量雖然獨立于對象,但是不代表不能通過對象去訪問,所有的靜態(tài)方法和靜態(tài)變量都可以通過對象訪問,只要訪問權限足夠。
  • static不允許用來修飾局部變量。

到此這篇關于Java基礎之static關鍵字的使用講解的文章就介紹到這了,更多相關Java基礎之static內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatis之Mapper動態(tài)代理實例解析

    Mybatis之Mapper動態(tài)代理實例解析

    這篇文章主要介紹了Mybatis之Mapper動態(tài)代理實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Spring的@ConfigurationProperties注解詳解

    Spring的@ConfigurationProperties注解詳解

    這篇文章主要介紹了Spring的@ConfigurationProperties注解詳解,@ConfigurationProperties該注解是用來獲取yml或者properties配置文件的配置信息,下面根據(jù)一些配置信息給出案例代碼進行講解,需要的朋友可以參考下
    2023-11-11
  • linux配置jdk環(huán)境變量簡單教程

    linux配置jdk環(huán)境變量簡單教程

    這篇文章主要為大家詳細介紹了linux配置jdk環(huán)境變量簡單教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Java使用@Autowired注解獲取對象為null的幾種情況及解決方法

    Java使用@Autowired注解獲取對象為null的幾種情況及解決方法

    這篇文章主要給大家介紹了使用@Autowired注解獲取對象為null的幾種情況以及?解決方法,文中有詳細的代碼示例講解,具有一定的參考價值,需要的朋友可以參考下
    2023-09-09
  • Java中BEAN與EJB的區(qū)別淺析

    Java中BEAN與EJB的區(qū)別淺析

    這篇文章主要介紹了Java中BEAN與EJB的區(qū)別淺析,本文總結了它們之間的不同之處,需要的朋友可以參考下
    2015-03-03
  • 使用SpringBoot_jar方式啟動并配置日志文件

    使用SpringBoot_jar方式啟動并配置日志文件

    這篇文章主要介紹了使用SpringBoot_jar方式啟動并配置日志文件操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java_異常類(錯誤和異常,兩者的區(qū)別介紹)

    Java_異常類(錯誤和異常,兩者的區(qū)別介紹)

    下面小編就為大家?guī)硪黄狫ava_異常類(錯誤和異常,兩者的區(qū)別介紹) 。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • springboot整合netty過程詳解

    springboot整合netty過程詳解

    這篇文章主要介紹了springboot整合netty過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 基于SpringBoot與Mybatis實現(xiàn)SpringMVC Web項目

    基于SpringBoot與Mybatis實現(xiàn)SpringMVC Web項目

    這篇文章主要介紹了基于SpringBoot與Mybatis實現(xiàn)SpringMVC Web項目的相關資料,需要的朋友可以參考下
    2017-04-04
  • SpringBoot中的Controller用法示例詳解

    SpringBoot中的Controller用法示例詳解

    Controller是SpringBoot里最基本的組件,他的作用是把用戶提交來的請求通過對URL的匹配,分配給不同的接收器,再進行處理,然后向用戶返回結果,這篇文章主要介紹了SpringBoot中的Controller用法,需要的朋友可以參考下
    2023-06-06

最新評論