JAVA知識基礎(五):深入理解final關鍵字

1.final 關鍵字

final關鍵字主要用在三個地方:變量、方法、類。

  • final修飾變量:final修飾一個類時,表明這個類不能被繼承。
  • final修飾方法:final修飾方法,方法不可以重寫,但是可以被子類訪問 【前提:方法不是 private 類型】。
  • fainal修飾類:如果被final修飾的是基本數據類型的變量,則其數值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。

2.final修飾變量(成員變量、局部變量)

首先,變量分為成員變量和局部變量

2.1 final修飾成員變量
成員變量必須在定義時或者構造器中進行初始化賦值

public class FinalAndVariable {public int t; //編譯成功public final int b; //編譯失敗public final int c = 1; //編譯成功
}

在構造方法中將成員變量進行初始化,定義成員變量的時候就可以不用初始化

public class FinalAndVariable {public int t;public final int b; //編譯成功public final int c = 1; //編譯成功public FinalAndVariable() {  //構造方法b=2;  //在構造方法中將成員變量b進行初始化}
}

2 .2final修飾局部變量
只需要保證在使用之前被初始化賦值即可

3.final變量和普通變量的區別

當final變量修飾基本數據類型以及String類型時,編譯期間能知道它的確切值時,編譯器會把它當做編譯期常量使用。

被final修飾的引用變量一旦初始化賦值之后指向的對象不可變但該對象的內容可變。

4.final與static的藕斷絲連

static的使用始終離不開final字眼,二者可謂藕斷絲連,常常繁見

static修飾的在類加載的時候就加載完成了(初始化),而且只會加載一次也就是說初始化一次,所以不會發生變化!
final修飾基本數據類型的變量時,則其數值一旦在初始化之后便不能更改。

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

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

相關文章

CMS模板應用調研問卷

截止目前,已經有數十家網站與我們合作,進行了MIP化改造,在搜索結果頁也能看到“閃電標”的出現。除了改造方面的問題,MIP項目組被問到最多的就是:我用了wordpress,我用了織夢cms,怎么改MIP呢&am…

Nginx(三):反向代理

我們本篇將通過兩個實例進行對Nginx反向代理的學習。 1、概念基礎 反向代理,其實客戶端對代理是無感知的,因為客戶端不需要任何配置就是可以訪問。我們只需要將請求發送到反向代理服務器上,有反向代理服務器去選擇目標服務器獲取數據后&…

VIP站長大會(北京站)常見問題解答

功能支持問題 1. react 能否和 MIP 結合使用&#xff0c;如果暫時不能以后是否有考慮&#xff1f;是否會和其他 JavaScript 框架 (比如 Angular ) 結合 ? 目前暫無計劃支持。 2. MIP 頁是否支持自定義 cookie? 實現 登錄、統計、廣告等功能 ? <mip-cookie>組件正在…

Nginx(四):負載均衡Load balancing

1、概念基礎 Load balancing&#xff0c;即負載均衡&#xff0c;是一種計算機技術&#xff0c;用來在多個計算機&#xff08;計算機集群&#xff09;、網絡連接、CPU、磁盤驅動器或其他資源中分配負載&#xff0c;以達到最優化資源使用、最大化吞吐率、最小化響應時間、同時避…

JAVA知識基礎(六):抽象

1.概述 抽象類、抽象方法以及接口&#xff0c;這三個知識點是每個程序員必備的基礎&#xff0c;無論是在實際編程的時候&#xff0c;還是在面試的時候&#xff0c;都會出現這類問題&#xff0c;面試官很可能就會問你&#xff0c;interface和abstract的區別 當父類知道子類應該…

MIP開發教程(三) 使用MIP-CLI工具調試組件

一 . 在 mip-extensions 倉庫中創建新的組件二 . 預覽調試組件 三 . 在 MIP 頁中引用自己編寫的 MIP 組件 四 . 組件提交到 GitHub 倉庫時需要進行校驗 站長開發的非通用組件&#xff0c;使用 組件上線平臺 提交&#xff0c;上線后代碼位于 GitHub/mip-extension-platform 倉…

JAVA知識基礎(七):封裝

1.概述 封裝&#xff08;Encapsulation&#xff09;是指一種將抽象性函式接口的實現細節部分包裝、隱藏起來的方法。 封裝可以被認為是一個保護屏障&#xff0c;防止該類的代碼和數據被外部類定義的代碼隨機訪問。 要訪問該類的代碼和數據&#xff0c;必須通過嚴格的接口控制…

MIP開發教程(二) 使用MIP-CLI工具調試MIP網頁

初始化 MIP 配置 新建一個 MIP 網頁 編寫 MIP 網頁代碼 校驗 MIP 網頁 調試 MIP 網頁 1. 初始化 MIP 配置 首先在html目錄下進行初始化 MIP 配置&#xff1a; $ mip init 此時會創建mip.config文件&#xff1a; 2. 新建一個 MIP 網頁 在mip-project/html文件夾下輸入如下…

Nginx(五):動靜分離

1、概念基礎 Nginx動靜分離簡單來說就是把動態請求和靜態請求分開&#xff0c;不能理解成只是單純的把動態頁面靜態頁面的物理分離。嚴格意義上說應該是動態請求跟靜態請求的分開&#xff0c;可以理解成使用Nginx處理靜態頁面&#xff0c;Tomcat處理動態頁面。動靜分離從目前實…

Nginx(六):配置nginx高可用集群

我們知道在我們使用nginx代理多態tomcat服務器時&#xff0c;如果某臺tomcat服務器發生宕機&#xff0c;那么nginx的分配機制可以自動將其剔除。但是如果發生了nginx的宕機狀況&#xff0c;又該如何解決呢。 1、配置高可用的集群 1.1、什么是高可用 高可用HA&#xff08;Hig…

MIP開發教程(一) MIP-CLI工具安裝與環境部署

依賴安裝 安裝 MIP-CLI 創建開發文件結構 1. 依賴安裝 MIP-CLI 使用 NPM 安裝&#xff0c;依賴 node 環境&#xff1a; node 安裝-windowsnode 安裝-mac MIP-CLI 開發組件需要 git&#xff1a; git 安裝-windowsgit 安裝-mac 2. 安裝 MIP-CLI MIP-CLI&#xff1a;mip 開…

JAVA知識基礎(八):繼承

1.概述 1.1、繼承的由來 至于由來簡單一句話&#xff1a;多個類中存在相同屬性和行為時&#xff0c;將這些內容抽取到單獨一個類中&#xff0c;那么多個類無需再定義這些屬性和行為。 繼承描述的是事物之間的所屬關系&#xff0c;這種關系是 is-a 的關系。 1.2、繼承的定義 …

MIP 2016年終總結

MIP 項目組成立至今已經有一年多的時間&#xff0c;在過去的一年里&#xff0c;感謝各位的關注。 1. MIP JS 迭代 MIP JS 運行環境是 MIP 頁面和 MIP 組件運行的基石。在 2016 年 4 月&#xff0c;MIP JS 發布了 mipmain-v0.0.1.js, 隨后經過多次迭代&#xff0c;在 2016 年 …

JAVA知識基礎(九):this、super 關鍵字總結

1.this關鍵字 this有三種常見用法 1.this調用本類中的屬性&#xff0c;也就是類中的成員變量 2.this調用本類中的其他方法 3.this調用本類中的其他構造方法&#xff0c;調用時要放在構造方法的首行。 2.super關鍵字 在java里面&#xff0c;對于super關鍵字通常有兩種用法 …

向MIP開源項目提交Issues

Issues 是 GitHub 管理需求&#xff0c;討論技術方案的方式&#xff0c;附&#xff1a;官方解釋。MIP 是在 GitHub 上的開源項目&#xff0c;也使用 Issues 來做任務管理。 一、Issues 在 MIP 項目中的應用 MIP 項目中的 Issues 主要有兩種用法&#xff1a; 1. * 記錄 bug,…

Nginx(七):nginx原理解析

前面我們講到了nginx的反向代理、負載均衡、動靜分離以及高可用&#xff0c;本篇我們來了解一下nginx的原理&#xff0c;看一下nginx是怎么執行的。 1、mater和worker 2、worker是如何進行工作的 3、相關問題 3.1、一個 master 和多個 woker 有好處 &#xff08;1&#xff0…

為什么MIP-Cache存在

在去年十月的一篇 博客文章 提到 MIP 加速器是由 MIP-HTML, MIP-JS 和 MIP-Cache 三個模塊共同產生加速效果的。MIP-HTML 和 MIP-JS 都是開源的&#xff0c;在 GitHub 上可以訪問。但 MIP-Cache 是百度提供的&#xff0c;所有從百度搜索結果頁打開的頁面都是 MIP-Cache 的頁面。…

JAVA知識基礎(十):多態

1.概述 1.1多態的定義 多態是同一個行為具有多個不同表現形式或形態的能力。 多態就是同一個接口&#xff0c;使用不同的實例而執行不同操作。 多態性是對象多種表現形式的體現。 1.2多態的優點 消除類型之間的耦合關系可替換性可擴充性接口性靈活性簡化性 1.3多態存在的三個…

MIP技術交流分享(3月9日)

3月9日上周四下午&#xff0c;MIP 團隊工程師與去哪兒酒店云、眾薈的 Web 前端工程師進行了一次面對面的技術交流。 在這次交流中&#xff0c;MIP 工程師主要分享了 MIP 技術原理&#xff0c;MIP 加速原理&#xff0c;以及 MIP 為開發者提供的工具集。去哪兒的工程師也提出了通…

JAVA知識基礎(十一):異常

1.異常的概念 簡單說就是不正常運行&#xff0c;最終導致JVM的非正常停止。 在Java等面向對象的編程語言中&#xff0c;異常本身是一個類&#xff0c;產生異常就是創建異常對象并拋出了一個異常對象。Java處理異常的方式是中斷處理。 異常指的并不是語法錯誤,語法錯了,編譯不…