Java-關鍵字(static,final)

1.1 static關鍵字

  • static關鍵字 :

    • 靜態的意思 , 可以修飾變量 , 也可以修飾方法 , 被static修飾的成員 , 我們叫做靜態成員

  • static特點 :

    • 靜態成員被所類的所有對象共享

    • 隨著類的加載而加載 , 優先于對象存在

    • 可以通過對象調用 , 也可以通過類名調用 , 建議使用類名

1. 靜態變量(Static Variables):

靜態變量也稱為類變量,它們屬于類而不是類的特定實例。所有該類的實例共享相同的靜態變量的值。靜態變量在內存中只有一個副本,無論類實例化多少次,它們都指向相同的內存空間。

class Example {static int count = 0; // 靜態變量Example() {count++; // 每創建一個實例,count 加一}
}

2. 靜態方法(Static Methods):

靜態方法屬于類,不依賴于類的實例而直接通過類名調用。靜態方法不能直接訪問類的非靜態成員,因為它們在類加載時就已經存在,而非靜態成員需要在對象實例化后才能訪問。

class Example {static void staticMethod() {System.out.println("This is a static method.");}
}

3. 靜態代碼塊(Static Initialization Block):

靜態代碼塊用于初始化類的靜態變量,只在類加載時執行一次,比如靜態變量的初始化或者靜態方法的調用。

class Example {static {// 靜態代碼塊System.out.println("Static block initialized.");}
}

4. 靜態內部類(Static Inner Class):

靜態內部類是聲明為靜態的內部類,不依賴于外部類的實例而可以直接通過類名訪問。靜態內部類不能訪問外部類的非靜態成員,只能訪問靜態成員。

class Outer {static class Inner {void display() {System.out.println("Static inner class.");}}
}

2-final關鍵字

  • final關鍵字 : 翻譯中文代表最終的意思 , 是java的一個關鍵字 也是一個修飾符 , 可以修飾類 , 可以修飾方法 , 也可以修飾變量

  • final關鍵字修飾的特點

    • final修飾的類 : 不能被繼承 , 沒有子類(太監類)

    • fina修飾的方法 : 不能被重寫

    • final修飾的變量

      • 基本數據類型 : 值不能改變

      • 引用數據類型 : 地址不可發生改變 , 對象的屬性可改變

      • 注意 :

        • 被final修飾的變量 , 我們叫做自定義常量 , 命名規范 : 每個字母需要大寫 , 多個單詞之間用下劃線分割

        • final修飾成員變量需要注意初始化時機的問題 , 1) 直接賦值 , 2) 在構造方法執行完畢前賦值

1.?final?變量:

當應用于變量時,final 表示該變量只能被賦值一次。一旦賦值后,其值就不能再改變。final 變量必須在聲明時或者在構造方法中進行初始化。

class Example {final int constantValue = 10; // 聲明時初始化final double PI;Example() {PI = 3.14; // 在構造方法中初始化}void method() {final int localVar = 5; // 局部變量也可以聲明為final// localVar = 10; // 編譯錯誤,final變量無法重新賦值}
}

2.?final?方法:

當應用于方法時,final 表示方法不能被子類重寫(override)。這種約束有助于確保方法的行為在繼承層次結構中保持一致性和完整性。

class Parent {final void finalMethod() {// 這個方法不能被子類重寫}
}class Child extends Parent {// 編譯錯誤,無法重寫final方法// void finalMethod() { }
}

3.?final?類:

當應用于類時,final 表示該類不能被繼承。這種設計主要用于確保類的完整性和安全性,防止子類對其進行修改或擴展。

final class FinalClass {// 這個類不能被繼承
}// 編譯錯誤,無法從final類派生子類
// class ChildClass extends FinalClass { }

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41965.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41965.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41965.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Keepalived+HAProxy 集群及虛IP切換實踐

1、軟件介紹 ①Keepalived keepalive是一個用c語言編寫的路由軟件,這個項目的主要目標是為Linux系統和基于Linux的基礎設施提供簡單而健壯的負載平衡和高可用性設施。負載均衡框架依賴于眾所周知且廣泛使用的Linux Virtual Server (IPVS)內核模塊提供第4層負載均衡…

srs直播內網拉流帶寬飆升問題記錄

問題背景 srs部署在云服務器上,32核cpu,64G內存,帶寬300M. 客戶端從srs拉流,發現外網客戶端拉流,cpu和帶寬都正常。然而內網客戶端拉流,拉流人數超過5人以上,帶寬就會迅速飆升。 排查 用srs…

數學建模論文寫作文檔word

目錄 1. 摘要寫法1.1 確定題目與方法1.2 編寫開頭段落1.3 填寫問題一1.4 重復步驟3填寫其他問題1.5 編寫結尾段落1.6 編寫關鍵詞 2. 問題重述2.1 問題背景2.2 問題提出 3. 問題分析4. 問題X模型的建立與求解5. 模型的分析5.1 靈敏度分析5.2 誤差分析(主要用于預測類…

Milvus lite start 及存儲策略

背景 今天開始寫下Milvus,為了方便,我直接使用的是 milvus-lite 版本,default 情況下,你可能不知道他到底將 db 存儲到什么位置了。啟動 default-server,看下Milvus 的start及存儲邏輯 主邏輯 def start(self):sel…

adb參數詳解

文章目錄 1. -d2. -e3. -s4. -t5. -H6. -P7. -L8. --one-device9. --exit-on-write-error10. connect / disconnect11. pair12. forward13. forward --list14. reverse15. mdns check16. mdns services17. push18. pull19. sync20.shell21. install22. uninstall23. bugreport2…

最小二乘支持向量機(Least Squares Support Vector Machine,LSSVM)及其Python和MATLAB實現

LSSVM(Least Squares Support Vector Machine)又稱最小二乘支持向量機,是支持向量機(SVM)的一種變體,它通過將SVM的優化問題轉化為帶約束的二次規劃問題,利用最小二乘法進行優化求解&#xff0c…

redis集群部署 (通過redis工具快速部署,手動部署)

目錄 一、快速部署集群 1、 進入集群目錄,創建集群 2、 查看正常啟動 二、部署集群 1、分配集群節點 2、驗證集群可用性 3、停止redis進程 三、手動部署集群 1、配置redis.conf配置文件 2、啟動redis集群 3、手動創建redis集群 4、驗證 四、集群…

mysql異常數據損壞處理,報錯:Operating system error number 2 in a file operation

一、問題描述 某次一線反應,某主庫表全部丟失,查看為空,登陸主機查看mysqld.log后報錯:Operating system error number 2 in a file operation數據目錄OS重裝后修改過,但只是指向方式不同,目錄還是同一目錄…

【綠色版】Mysql下載、安裝、配置與使用(保姆級教程)

大家都知道,Mysql安裝版的卸載過程非常繁瑣,而且卸載不干凈會出現許多問題,很容易讓大家陷入重裝系統的窘境。基于此,博主今天給大家分享綠色版Mysql的安裝、配置與使用。 目錄 一、Mysql安裝、配置與使用 1、下載解壓 2、創建…

vue對axios進行請求響應封裝

一、原因 像是在一些業務邏輯上,比如需要在請求之前展示loading效果,或者在登錄的時候判斷身份信息(token)等信息有沒有過期,再者根據服務器響應回來的code碼進行相應的提示信息。等等在請求之前,之后做的一…

ABAP注釋快捷鍵修改(留著備用)

ABAP注釋快捷鍵修改(留著備用) 在使用ABAP編輯器的時候,原有的添加代碼注釋和取消代碼注釋的快捷鍵未生效,這時我們可以考慮對注釋快捷鍵進行修改 在事務碼SE38(ABAP編輯器)屏幕右下角,點擊【Options選項】圖標 在【鍵盤】|【命令】輸入欄中…

DWM 相關實現代碼 [自用]

1. DWM 縮略圖和模糊隱藏實現半透明 #include <windows.h> #include <dwmapi.h> #include <string> #pragma comment(lib, "dwmapi.lib")// 檢查 UWP 窗口是否可見 bool IsUWPWindowVisible(HWND hwnd) {DWORD cloaked 0;DwmGetWindowAttribute(…

【c語言】玩轉文件操作

&#x1f31f;&#x1f31f;作者主頁&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所屬專欄&#xff1a;C語言 目錄 引言 一、文件的打開和關閉 1.流 2.標準流 3.文本文件和二進制文件 4.控制文件打開與關閉的函數 二、文件的順序讀寫 三、文件的隨機讀寫 1…

深入理解OAuth 2.0:原理、流程與實踐

一、什么是OAuth 2.0 1. 什么是OAuth 2.0 OAuth 2.0 是一套關于授權的行業標準協議。 OAuth 2.0 允許用戶授權第三方應用訪問他們在另一個服務提供方上的數據&#xff0c;而無需分享他們的憑據&#xff08;如用戶名、密碼&#xff09;。 2. OAuth 2.0 應用場景 OAuth 2.0的…

非參數檢測6——優缺點

優點&#xff1a; 參量檢測的特點在于以似然比處理器為基礎&#xff0c;并建立在假定干擾或噪聲的統計特性已知的基礎上。但實際上&#xff0c;干擾環境往往十分復雜&#xff0c;包括自然和人為因素&#xff0c;且常常隨時改變。這使我們很難確定噪聲的統計特性。因此人們提出…

服務器U盤安裝Centos 7時提示Warning:/dev/root does not exist

這是沒有找到正確的鏡像路徑導致的&#xff0c;我們可以在命令行輸入ls /dev看一下有哪些盤符 像圖中紅色圈起來的就是我插入U盤的盤符&#xff0c;大家的輸幾盤可能做了多個邏輯盤&#xff0c;這種情況下就可以先將U盤拔掉再ls /dev看一下和剛才相比少了那兩個盤符&#xff0c…

在Spring Boot中實現多線程任務調度

在Spring Boot中實現多線程任務調度 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 1. Spring Boot中的任務調度 Spring Boot通過集成Spring框架的Task Execution和Scheduling支持&#xff0c;提供…

Double 4 VR仿真情景實訓教學系統在法律專業課堂上的應用

隨著科技的飛速發展&#xff0c;VR技術逐漸滲透到各個領域&#xff0c;為教育行業帶來了革命性的變化。 VR技術以其獨特的沉浸式體驗&#xff0c;為法律課堂帶來了前所未有的學習體驗。通過Double 4 VR仿真情景實訓教學系統&#xff0c;學生可以身臨其境地進入虛擬的仿真情景中…

vue前端面試

一 .v-if和v-show的區別 v-if 和 v-show 是 Vue.js 中兩個常用的條件渲染指令&#xff0c;它們都可以根據條件決定是否渲染某個元素。但是它們之間存在一些區別。 語法&#xff1a;v-if 和 v-show 的語法相同&#xff0c;都接收一個布爾值作為參數。 <div v-if"show…

權力之望怎么下載客戶端 權力之望一鍵下載

《權力之望》是一款由NX3 Games開發、Smilegate發行的多人在線動作MMORPG游戲。這款游戲最大的特點是高度的自由度和豐富的角色定制選項。我們在游戲中不僅可以自由更換武器&#xff0c;而且游戲還提供了54種能力和60多種職業選擇&#xff0c;讓我們可以根據自己的游戲風格和喜…