1. 程式人生 > >java基礎之final&static詳談

java基礎之final&static詳談

一、final的作用

  1. 被final修飾的類不可以被繼承。
  2. 被final修飾的方法不可以被重寫。
  3. 被final修飾的變數的引用不可變,內容可變。

二、static的作用

(一)靜態資源

   被static修飾的變數為類變數(靜態變數),通過類.變數名引用,不用new出一個類的物件。

   被static修飾的方法為類方法(靜態方法),通過類.方法名引用,不用new出一個類的物件。

   類變數和類變數統稱為靜態資源,靜態資源被類例項所共享。

  靜態資源是在類初始化的時候載入的,非靜態資源是在new的時候載入的,靜態塊裡面的程式碼只執行一次,且只在初始化類的 時候執行。

   注意:

  1. 靜態方法不能引用靜態資源。
  2. 非靜態方法可以引用靜態資源。
  3. 靜態方法可以引用靜態資源。

(二)靜態程式碼塊

  靜態塊裡面的程式碼只執行一次,且只在初始化類的時候執行。

 注意靜態內部類

*注意靜態導包很少用,Junit測試時assert

三、類載入順序

父類靜態成員變數,父類靜態程式碼塊,子類靜態成員變數,子類靜態程式碼塊,父類非靜態成員變數,父類非靜態程式碼塊,父類建構函式,子類非靜態成員變數,子類非靜態程式碼塊,子類建構函式

相關推薦

java基礎final&static詳談

一、final的作用被final修飾的類不可以被繼承。被final修飾的方法不可以被重寫。被final修飾的變數的引用不可變,內容可變。二、static的作用(一)靜態資源   被static修飾的變數為類變數(靜態變數),通過類.變數名引用,不用new出一個類的物件。   

Java基礎finalstatic關鍵字

推薦 構造方法 其他 如果 靈活 位置 map 機制 lis 一、final 根據程序上下文環境,它可以修飾非抽象類、非抽象類成員方法和變量。 final類不能被繼承,沒有子類,final類中的方法默認是final的。 final

Java基礎finalstatic關鍵字

一、前言   關於這兩個關鍵字,應該是在開發工作中比較常見的,使用頻率上來說也比較高。介面中、常量、靜態方法等等。但是,使用頻繁卻不代表一定是能夠清晰明白的瞭解,能說出個子醜演卯來。下面,對這兩個關鍵字的常見用法做點總結記錄,方便之後的回顧以及突擊知識點。 二、關鍵字 final   final,一如字面意思

java基礎關鍵字static

splay tar his msu 理解 per weight min 對象 在java當中有很多關鍵字,static便是其中一個,它很普通但我們經常需要運用到它,所以要了解static是非常有必要的。 鑒於本人知識結構有限,若有錯誤忘不吝賜教,甚為感謝。

java基礎final, finally, finalize 的區別

final 在java中,final可以用來修飾類,方法和變數(成員變數或區域性變數)。 1.1 修飾類 當用final修飾類的時,表明該類不能被其他類所繼承。當我們需要讓一個類永遠不被繼承,此時就可以用final修飾,但要注意: final類中所有的成員方法都

Java基礎static關鍵字的用法

直接 方法 普通 類變量 靜態塊 引用 同時 序列化 用法 Java中的static關鍵字主要用於內存管理。我們可以應用static關鍵字在變量、方法、塊和嵌套類中。 static關鍵字屬於類,而不是類的實例。 靜態(static)可以是:

Java基礎15-finalstatic關鍵字和Object類

不同 擁有 bsp 指數 col main hashcode 技術分享 fin 一、final關鍵字 1.什麽是final關鍵字 繼承的出現提高了代碼的復用性,並方便開發。但隨之也有問題,有些類在描述完之後,不想被繼承,或者有些類中的部分方法功能是固定的,不想讓子類重寫。可

JAVA基礎Static

共享 創建 輸出 -- 私有變量 oid print 名稱 一個 static關鍵字 static:靜態成員,類成員 public static int price;//靜態屬性或者叫類屬性 public static String outName(){//靜態方法和

16 Java基礎筆記-finalstatic關鍵字

關鍵字 一,final關鍵字 1,final概念 某些的類或者是類中部分的方法不想讓子類繼承重寫,使用關鍵字final修飾的物件不可被繼承,表示最終,不可變。可以用來修飾類,類成員,成員變數,區域性變數等。 2,final特點 1,final修飾類不可以被繼承,但可以繼承

Java 基礎 static 修飾符詳解

        static修飾成員不能訪問沒有static修飾的成員,因為static修飾的成員是所有物件所共有的,也就是屬於這個類,所以在沒有例項化任何一個物件的時候就可以用類來訪問這個靜態屬性, 同時,任何一個物件都可以訪問修改這個靜態屬性,比如:一個靜態方法,它不可以

Java基礎this,static,建構函式

建構函式函式名與類名相同     不用定義函式的返回值     沒有具體的返回值(因為建構函式沒有結果)建構函式:構建創造物件時候調動的函式,可以給物件初始化,但給物件賦值推薦用setpublic cl

java基礎多線程

健壯性 等待 block running 調用 相同 空間 獲取 行程 參考博客 http://www.mamicode.com/info-detail-517008.html 1.進程和線程的區別   進程:每個進程都有獨立的代碼和數據空間(進程上下文),進程間的切換會有

java語法final

隱式 子類 引用 語法 private 指向 static 所有 繼承 final作用於類 表示該類不可繼承。其中所有方法默認final。 final作用於方法 表示該方法不可被子類復寫。private 隱式指定final。 final作用於變量 表示該變量不可變。(對於引

java基礎數組

和平 system.in return 必須 sys jdk ole 否則 語法 1、數組的定義 數組是相同數據類型的有序集合,數組是一種特殊類型的變量,是在內存中開辟的一片連續的存儲空間 數組的元素:數組中的保存的具體的值 數組的長度:數組中能保存的最大得元素的個數。 數

java基礎bit、byte、char、String

ava 字節 java基礎 等於 ring pan style span gbk bit   位,二進制數據0或1 byte   字節,一個字節等於8位二進制數 char   字符, String   字符串,一串字符 常見轉換   1 字母 = 1by

java基礎get和post的差別

oge tracking data- 宋體 行處理 art 其它 family 我們 上篇博文講到HTTP協議,本篇介紹HTTP請求方法中get和post的差別: 首先,最明顯的一點表象上的差別:GET 方式。將請求參數附加在url之後,POST將請求參數附加在請求頭

Java基礎Map的遍歷

print try main map.entry void clas 推薦 highlight col 遍歷Map集合,有四種方法: public static void main(String[] args) { Map<String, String&g

java基礎幾種常見的排序算法

java基礎 csdn n) min center 最小 fill 順序 system 一,冒泡排序 1、原理:   從數組的第一個位置開始兩兩比較array[index]和array[index+1],如果array[index]大於array[index+1]則交換a

Java基礎常用類

per fse 出現 repl 四舍五入 stat 方式 pattern 第一次 一、String 1.多個字符組成的一串數據,它可以和字符數組進行相互轉換 2.構造方法:  public String ( ) 空構造  public String (byte[ ] by

Java基礎創建實例化對象的方式

ron win const 返回對象 常見 stream lan truct str Java中創建(實例化)對象的五種方式 1、用new語句直接創建對象,這是最常見的創建對象的方法。 2、通過工廠方法返回對象,如:String str = String.valueO