限定符及屬性初始化規則

2021-09-27 02:27:36 字數 1141 閱讀 7261

se

1)訪問限定符

1.頂級 2.成員級

四種訪問限定符

1.public 2.package -private 3.protected 4.private

1.public 2.空白 3.protected 4.private

2) static限定符

靜態屬性/靜態方法

靜態屬性儲存類(方法區)中

static最關鍵作用就是和物件解綁

1>.屬性 沒有存在物件中,存在類中

2>.方法 沒有乙個隱式的當前物件的引用 this

特點:1.在靜態方法中(靜態上下文)無法使用非靜態的內容靜態方法中,無法訪問普通屬性,無法呼叫普通方法,無法使用this

2. 靜態屬性的存在並且只存在乙份,表現出共享的特性,類似全域性變數。

規範:訪問限定符 static

public static(推薦使用)

static public (語法沒錯,但不是最好的)

3)屬性(包括靜態屬性)的初始化規則

初始化的方法:

靜態屬性:

1.定義時直接初始化

2.靜態**塊初始化

語法 static

普通:1.定義時初始化

2.初始化**塊初始化

語法3.在構造方法中

時機:靜態屬性:類被載入到記憶體中時

普通屬性: 物件被例項時

順序:1).類的載入一定發生在物件例項化之前

靜態屬性的初始化一定在普通屬性初始化之前

2).靜態屬性初始化順序,按照定義類時的書寫順序初始化

3).普通屬性初始化順序:定義時和構造**塊按照書寫順序初始化

構造方法中的初始化一定發生在最後

== 資料結構-複雜度==

複雜度:不求甚解地衡量演算法好壞的刻度尺

時間複雜度(重點) 空間複雜度

n: 輸入資料的規模

f(n): 在n資料規模的情況下,基本資料個數

== 二分查詢==

public  static class   binarysearch

public static int binarysearch(int a,int v)elseelse }}

*/

變數的屬性 型別限定符 volatile

volatile可以理解為 編譯器警告指示字 volatile告訴編譯器必須每次去記憶體中取變數值 volatile主要修飾可能被多個執行緒訪問的變數 volatile也可以修飾可能被未知因數更改的變數 如 int obj 0 int a 0 int a 0 a obj sleep 100 b ob...

關於初始化及初始化順序

首先,類的成員變數會被自動初始化,並且會在構造器被呼叫前發生,如下 public class testinitialization public static void main string args 如下 主類 public class staticinitialization 呼叫main之前...

c 變數初始化規則

include include include include include using namespace std define num 10000 class bclass 對於常量型成員變數和引用型成員變數,必須通過引數化列表的方式進行初始化 普通成員變數也可以放在函式體裡,但是本質其實已不...