11. 為什么要用static關鍵字

11. 為什么要用static關鍵字

static:

  • 通常來說:在new一個對象的時候,數據存儲空間才會被分配,方法才能被外界使用。但是有時只想單獨分配一個存儲空間,不考慮需要創建對象或不創建對象,在沒有對象的情況下也想調用方法。static關鍵字就滿足了我們的需求

  • 共享數據,節省內存

    • 當多個對象需要共享一份數據時,可以避免為每個對象單獨開辟一個數據存儲空間,節省內存

      • class Employee {private static int count = 0; // 所有 Employee 實例共享這個變量private String name;public Employee(String name) {this.name = name;count++; // 每創建一個實例,count 自增}public static int getCount() {return count;}
        }public class Main {public static void main(String[] args) {Employee e1 = new Employee("Alice");Employee e2 = new Employee("Bob");System.out.println("當前員工數: " + Employee.getCount()); // 輸出 2}
        }
        
  • 不需要實例化,可以直接使用

    • class MathUtils {public static int add(int a, int b) {return a + b;}
      }public class Main {public static void main(String[] args) {int result = MathUtils.add(3, 5); // 直接通過類名調用靜態方法System.out.println("3 + 5 = " + result); // 輸出 8}
      }
      
  • 資源初始化 (類加載時執行)

    • class Database {private static Connection conn;static {try {conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "user", "password");System.out.println("數據庫連接已建立");} catch (SQLException e) {e.printStackTrace();}}public static Connection getConnection() {return conn;}
      }public class Main {public static void main(String[] args) {Connection conn = Database.getConnection(); // 第一次調用時會觸發靜態代碼塊}
      }
      

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

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

相關文章

[Oracle] MAX()和MIN()函數

MAX() 和 MIN() 是 Oracle 常用的聚合函數,用于從一組值中找出最大值和最小值1.MAX()函數MAX()函數返回指定列或表達式中的最大值語法格式MAX(expression)參數說明expression:可以是列名、計算列或表達式示例-- 返回employees表中salary列的最大值 SELEC…

網絡資源模板--基于Android Studio 實現的麻雀筆記App

目錄 一、測試環境說明 二、項目簡介 三、項目演示 四、部設計詳情(部分) 添加頁面 五、項目源碼 一、測試環境說明 電腦環境 Windows 11 編寫語言 JAVA 開發軟件 Android Studio (2020) 開發軟件只要大于等于測試版本即可(近幾年官網直接下載也可以)&…

96-基于Flask的酷狗音樂數據可視化分析系統

基于Flask的酷狗音樂數據可視化分析系統 📋 目錄 項目概述技術棧系統架構功能特性數據庫設計核心代碼實現數據可視化部署指南項目總結 🎯 項目概述 本項目是一個基于Flask框架開發的酷狗音樂數據可視化分析系統,旨在為用戶提供音樂數據的…

Java基礎-紅包雨游戲-多線程

目錄 案例要求: 實現思路: 代碼: Employee RedPacket RedPacketRain 總結: 案例要求: 實現思路: 創建一個員工類,id和搶到的金額,創建一個紅包類,里面就是金額,創…

[激光原理與應用-203]:光學器件 - 增益晶體 - 增益晶體的使用方法

增益晶體是激光器的核心元件,其作用是通過受激輻射放大光信號。正確使用增益晶體需綜合考慮晶體選型、光路設計、熱管理、泵浦方式及安全防護等關鍵環節。以下是增益晶體的詳細使用方法及注意事項:一、晶體選型:根據需求匹配參數材料選擇Nd:Y…

?什么是抽象主義人工智能??

什么是抽象主義人工智能? 傳統的人工智能分為符號主義和連接主義兩個派別,后來又增加了行為主義。 我發現符號主義和連接主義處理的都是文本,而不是語義。原來的專家系統是符號主義的產物。現在的大語言模型是連接主義的產物。它們處理的都…

OpenSpeedy綠色免費版下載,提升下載速度,網盤下載速度等游戲變速工具

下載地址獲取點擊這里打開:OpenSpeedy 簡單介紹OpenSpeedy 是一款開源免費的游戲變速工具(對某些網盤或者其他的一些下載也可進行加速),讓你的游戲突破幀率限制,提供更流暢絲滑的游戲加速體驗。1、完全免費且開源2、簡…

Windows 電腦遠程訪問,ZeroTier 實現內網穿透完整指南(含原理講解)

🧭 一、目標場景說明 想從安卓移動端遠程到Windows電腦 實現如下效果: 家中 Windows 電腦開機聯網;安卓手機/平板在外地,只要聯網就能遠程控制電腦桌面;不需要公網 IP,不用設置端口映射;免費…

解決本地連接服務器ollama的錯誤

1. 服務器 ollama 安裝 $ curl -fsSL https://ollama.com/install.sh | sh >>> Cleaning up old version at /usr/local/lib/ollama >>> Installing ollama to /usr/local >>> Downloading Linux amd64 bundle ##################################…

詳解Windows(十四)——PowerShell與命令提示符

詳解Windows(十四)——PowerShell與命令提示符 一、Windows命令行工具概述 1. 什么是命令行界面(CLI) 命令行界面,簡稱CLI(Command Line Interface),是一種通過輸入文字命令來操作電腦的方式。與我們熟悉…

Spring源碼解析 - SpringApplication 屬性-初始化initializers, listeners -Spring提供的鉤子函數

初始化源碼 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) {~~~setInitializers((Collection) getSpringFactoriesInstances(ApplicationContextInitializer.class));setListeners((Collection) getSpringFactoriesInstances(A…

簡單聊聊PowerShell

1、powershell和cmdpowershell簡單來說也是一個控制終端&#xff0c;他也經常拿出來和windows自帶的CMD來進行對比。windows系統一般來說這兩者都是自帶的。雖然cmd平時大家用的最多&#xff0c;但他是非常古老的&#xff0c;可以用來執行簡單的批處理文件&#xff0c;如.bat等…

Spring系列之Spring AI入門

概述 GitHub&#xff0c;官網&#xff0c;目前最新版是1.0.1。 功能&#xff1a; 跨AI提供商的可移植API&#xff1a;用于聊天、文本到圖像和嵌入模型。支持同步和流API選項。還支持下拉訪問模型特定功能。跨Vector Store提供商的可移植API&#xff0c;包括同樣可移植的新穎…

ELK常見的問題

ELK 棧在使用過程中會遇到各種問題&#xff0c;以下是常見問題分類及解決方案&#xff0c;涵蓋 ?Elasticsearch、Logstash、Kibana 和 Beats&#xff08;如 Filebeat&#xff09;?? 四大組件&#xff1a; &#x1f6a8; ?一、連接與通信問題? 1. ?Elasticsearch 拒絕連接…

物理AI與人形機器人:從實驗室到產業化的關鍵跨越

2025年8月9日&#xff0c;北京——世界機器人大會&#xff08;WRC&#xff09;的開幕成為物理AI與機器人技術發展的集中展示場。英偉達在大會預告中首次提出“物理AI將重塑50萬億美元市場”的論斷&#xff0c;涵蓋工業制造、醫療、低空經濟等領域。與此同時&#xff0c;宇樹科技…

使用 Vuepress + GitHub Pages 搭建項目文檔(2)- 使用 GitHub Actions 工作流自動部署

在上一篇文章中&#xff0c;我們已經成功用 VuePress 搭建了項目文檔&#xff0c;并使用 sh 腳本部署到了 GitHub Pages。 但隨著文檔的更新頻率增加&#xff0c;每次都要手動推送&#xff0c;那有沒有不需要手動推送的方法呢&#xff1f;那必須有。 這次我們將用 GitHub Actio…

Python爬蟲實戰:研究PSpider框架,構建電商數據采集和分析系統

一、引言 1.1 研究背景 在大數據時代,數據已成為驅動科技創新、商業決策和社會發展的核心資源。據 IDC 預測,全球數據量將從 2020 年的 64ZB 增長至 2025 年的 175ZB,其中互聯網公開數據占比超過 60%。如何從海量網絡信息中高效、精準地提取有價值的數據,成為學術界和工業…

劍指offer第2版:動態規劃+記憶化搜索

前三題是同一種模型&#xff0c;所以我分別用遞推、記憶化、動歸來做 一、p74-JZ10 斐波那契數列 斐波那契數列_牛客題霸_牛客網 class Solution { public:int Fibonacci(int n) {// write code hereif(n1||n2) return 1;int a1,b1,c1;while(n>2){cab;ab;bc;--n;}return c…

Unity 調節 Rigidbody2D 響應速度的解決方案【資料】

可以通過多種方式調節 Unity 中 Rigidbody2D 的響應速度&#xff0c;包括降低物理更新頻率、屏蔽過小值以及優化物理參數。以下是幾種有效的實現方法&#xff1a;1. 降低物理更新頻率&#xff08;不推薦直接修改&#xff09;雖然可以修改 Time.fixedDeltaTime 來降低物理更新頻…

力扣-189.輪轉數組

題目鏈接 189.輪轉數組 class Solution {public void reverse(int[] nums, int i, int j) {while (i < j && i > 0 && j < nums.length) {int temp nums[i];nums[i] nums[j];nums[j] temp;i;j--;}}public void rotate(int[] nums, int k) {k k …