Java基礎 8.16

1.final關鍵字

基本介紹

final中文意思:最后的,最終的

final可以修飾類、屬性、方法和局部變量

在某些情況下,程序員可能有以下需求,就會使用到final

  1. 不希望類被繼承時,可以用final修飾
  2. 不希望父類的某個方法子類覆蓋/重寫(override)時,可以用final關鍵字修飾【訪問修飾符 final 返回類型 方法名】
  3. 不希望類的的某個屬性的值被修改,可以用final修飾【案例演示: public final double TAX_RATE=0.08】
  4. 不希望某個局部變量修改,可以使用final修飾【案例演示: final double TAX_RATE=0.08】

final使用注意事項和細節討論

1.final修飾的屬性又叫常量,一般用XX_XX_XX來命名(大寫命名)

2.final修飾的屬性在定義時,必須賦初值,并且以后不能再修改,賦值可以在如下位置之一【選擇一個位置賦初值即可】

  • 定義時:如 public final double TAX_RATE=0.08
  • 在構造器中
  • 在代碼塊中

3.如果final修飾的屬性是靜態的,則初始化的位置只能是

  • 定義時
  • 在靜態代碼塊 不能在構造器中賦值

4.final類不能繼承,但是可以實例化對象

5.如果類不是final類,但是含有final方法,則該方法雖然不能重寫,但是可以被繼承

6.一般來說,如果一個類已經是final類了,就沒有必要再將方法修飾成final方法

7.final不能修飾構造方法(即構造器)

8.final和static往往搭配使用,效率更高,不會導致類加載,底層編譯器做了優化處理

9.包裝類(Integer,Double,Float,Boolean等都是final),String也是final類

final練習題

package com.logic.final_;//計算圓的面積
public class FinalExercise01 {public static void main(String[] args) {System.out.println(Circle.calArea(12));}
}class Circle {private static double radius;private final static double PI = 3.14;public static double calArea(double radius) {return radius * radius * PI;}
}

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

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

相關文章

YOLOv8目標檢測網絡結構理論

目錄 YOLOv8的網絡結構圖: Backbone 卷積塊(Conv Block) Conv2d層 BatchNorm2d層 SiLU激活函數 瓶頸塊(Bottleneck Block) C2f 模塊結構 Neck SPPF(空間金字塔池化快速) PAN - FPN Head 結構1.卷積層和激活函數: 2.預測層(Predi…

docker部署hadoop集群

Docker部署hadoop集群下載資源構建鏡像啟動容器搭建集群配置ssh免密節點職責安排修改配置文件啟動集群測試上傳下載執行wordcount程序補充配置歷史服務器日志聚集單節點啟動Java客戶端使用HDFSMapReduce下載資源 java華為鏡像下載地址:Index of java-local/jdk (hu…

常用的T-SQL命令

文章目錄1. 數據庫操作2. 表操作3. 數據插入、更新、刪除4. 數據查詢5. 存儲過程6. 事務處理7、如何使用T-SQL在表中設置主鍵和外鍵?1. 設置主鍵(PRIMARY KEY)方法1:創建表時定義主鍵方法2:通過ALTER TABLE添加主鍵2. …

C++面試題及詳細答案100道( 31-40 )

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

給純小白的 Python 操作 Excel 筆記

🧰 1. 先裝工具電腦鍵盤按 Win R,輸入 cmd,回車,把下面一行粘進去回車,等它跑完。 bashpip install openpyxl——————————————————🛠? 2. 打開一個空白的 Excel 打開 Jupyter Notebook…

HTML 常用屬性介紹

目錄 HTML 屬性 HTML 屬性速查表 一、通用屬性(所有元素適用) 二、鏈接與引用相關屬性 三、表單與輸入控件屬性 四、媒體與多媒體屬性 五、事件屬性(常用 JavaScript 事件) 六、其他常用屬性 核心通用屬性 id 屬性 cla…

HTML5練習代碼集:學習與實踐核心特性

本文還有配套的精品資源,點擊獲取 簡介:HTML5作為新一代網頁標準,對Web開發提供了更豐富的功能和工具。本練習代碼集專門針對HTML5的核心特性,包括語義化標簽、離線存儲、多媒體支持、圖形繪制等,以及CSS3的3D效果和…

【RH134知識點問答題】第 10 章:控制啟動過程

目錄 1. 請簡要說明 RHEL9 的啟動過程。 2. 系統重啟和關機的命令分別是什么? 3. Systemd target 是什么? 4. 重置丟失的 root 密碼需要哪些步驟? 5. 如何讓系統日志在重啟后持久保留 1. 請簡要說明 RHEL9 的啟動過程。 答:①開機自檢…

Apollo10.0學習之固態雷達與IMU的外參標定

固態雷達(如Livox、禾賽等非旋轉式激光雷達)與IMU(慣性測量單元)的外參標定(Extrinsic Calibration)是自動駕駛、機器人定位(如LIO-SAM、FAST-LIO)的關鍵步驟。1. 標定原理 外參標定…

HTML5實現古典音樂網站源碼模板1

文章目錄 1.設計來源1.1 網站首頁1.2 古典音樂界面1.3 著名人物界面1.4 古典樂器界面1.5 歷史起源界面 2.效果和源碼2.1 動態效果2.2 源代碼 源碼下載萬套模板,程序開發,在線開發,在線溝通 作者:xcLeigh 文章地址:http…

40 C++ STL模板庫9-容器2-vector

C STL模板庫9-容器2-vector 文章目錄C STL模板庫9-容器2-vector一、基礎概念1. 類型成員(Type Members)2. 模板參數二、構造函數1. 語法2. 示例三、元素訪問1. 函數說明2. 示例代碼四、容量操作1. 函數說明2. 關鍵點說明3. 關鍵操作解析4. 操作示例五、修…

GPT-5系列文章2——新功能、測試與性能基準全解析

引言 2025年8月,OpenAI正式發布了其新一代旗艦模型GPT-5。與業界此前期待的AGI(人工通用智能)突破不同,GPT-5更像是OpenAI對現有技術的一次深度整合與用戶體驗優化。本文將全面解析GPT-5的新特性、實際測試表現以及官方發布的基準數據,幫助開…

利用cursor+MCP實現瀏覽器自動化釋放雙手

小伙伴們,我們今天利用cursorMCP實現瀏覽器自動化,釋放雙手,工作效率嘎嘎提升!前期準備:安裝node.js網址:https://nodejs.org/zh-cn下載下來安裝即可。 下載browser-tools-mcp擴展程序:下載擴展…

指針/邊界索引混淆梳理

在處理數組/鏈表等數據結構時,時常混淆長度和指針序號。處理技巧:使用0-base索引。則區間長度 rightIndex - LeftIndex 1總長度 lastIndex - firstIndex 1鏈表創建一個dummy節點,添加到head前,則可認為從索引0開始。末尾指針判…

LeetCode 刷題【43. 字符串相乘】

43. 字符串相乘 自己做 解1:矩陣計數 class Solution { public:string multiply(string num1, string num2) {int len1 num1.size();int len2 num2.size();if (num1[0] 0 || num2[0] 0) //結果為0的情況return "0";//存儲計算過程的矩陣vector…

NLP數據增強方法及實現-A

目錄 詞替換 主要參考:paddlenlp/data_aug模塊 詞替換數據增強策略也即將句子中的詞隨機替換為其他單詞進行數據增強,這里我們將介紹如何使用paddlenlp.dataaug.WordSubstitute進行詞級別替換的數據增強。 WordSubstitute 參數介紹:aug_ty…

EhViewer安卓ios全版本類下載安裝工具的完整路徑解析

開發一款類似EhViewer的下載安裝工具(集下載管理、應用部署等功能于一體),需要經歷從需求錨定到落地發布的系統性流程。以下從需求拆解到技術落地的全維度指南,將幫你理清開發脈絡,避開常見陷阱。安裝 GitHub - huangy…

MySQL 主鍵詳解:作用與使用方法

在 MySQL 數據庫中,主鍵(Primary Key) 是表結構設計中最重要的約束之一。它不僅是數據唯一性的保障,也是多表關聯、查詢優化的核心工具。本文將從 主鍵的作用 和 主鍵的用法 兩個方面進行講解,并配合代碼示例幫助理解一…

lib.dom.d.ts

lib.dom.d.ts 是一個 TypeScript 類型聲明文件,它是 TypeScript 標準庫的一部分,用于定義瀏覽器 DOM(文檔對象模型)相關的類型和接口。這個文件為開發者提供了瀏覽器中所有內置的 DOM 類型的定義,包括 localStorage、d…

Spring 工具類:StopWatch

StopWatch 是 Spring 框架提供的一個簡單而強大的計時工具類,用于測量代碼塊的執行時間。它特別適合在開發階段進行性能分析、調試和優化。 基本使用方法 // 創建 StopWatch 實例(可指定 ID) StopWatch stopWatch new StopWatch("性能分…