類和物件(上)

2021-10-24 22:11:29 字數 2872 閱讀 6857

public

class

hello

public

static

void

main

(string[

] arg)

}

建立物件: new hello(); (分配在堆上)

宣告乙個物件引用: hello fp ; (分配在棧上)

初始化物件引用: p1 = new hello()

基本資料型別作為引數傳遞是值傳遞,而物件是引用傳遞

class

intclass

public

class

hello

public

static

void

main

(string[

] arg)

//s的value變為6,但是y沒有加加,x++只是對形式引數++

}

在沒有繼承的條件下,例項化乙個物件,構造的先後順序是,靜態成員變數》靜態初始化塊》成員變數》初始化塊》構造方法

一般順序為 先靜態,後非靜態,先變數,後初始化塊,再是構造方法

class

intclass

}public

class

hello

static

hello()

public

static

void

main

(string[

] arg)

}

輸出結果:

靜態成員變數

靜態初始化塊

成員變數

初始化塊

構造方法

1.用static修飾符修飾的資料成員是不屬於任何乙個類的具體物件,而是屬於類的靜態資料成員。

2.它被儲存在類的記憶體區的公共儲存單元中,而不是儲存在某個物件的記憶體區中。因此,乙個類的任何物件訪問它時,訪問到的都是相同的數值。

3.訪問方式為通過類名加點操作符來訪問,也可通過物件引用來訪問。

4.靜態資料成員僅在類載入時進行初始化,且只執行一次初始化

一般是很多類物件共用某個變數時,則用到static資料成員

class

intclass

}public

class

hello

hello

(int x)

public

static

void

main

(string[

] arg)

}

輸出結果:

6 67 1

ps:

static方法

static

intmethod

(int x)

static**塊

乙個類中可以使用不包含在任何方法體中的靜態**塊,當

類被裝載時,靜態**塊被執行,且只被執行一次,靜態代

碼塊經常用來對類中定義的屬性進行初始化。

class

test

public

static

void

main

(string[

] args)

}

1.final修飾屬性,則屬性為常量。

2.如果修飾方法,則該方法在子類當中不能被覆蓋(見多型一節),可防止任何繼承類修改此方法,保證了程式的安全性和正確性。

3.final修飾類,則該類不能被繼承。

一維陣列的宣告格式:

型別識別符號 陣列名;

二位陣列的宣告格式:

型別說明符 陣列名[ ][ ];

int

arr;

string[

] example;

myclass[

] mc ;

float[10] arr; 是錯誤的

正確的陣列宣告方式有三種

public

class

shuzu

;//1.陣列物件,直接在宣告的時候進行定義及初始化,這種寫法只能寫在宣告**中

float b=

newfloat

;//2.陣列元素為引用型別

string[

] bb=

newstring[5

];bb[0]

=new

string

("hello");

for(

int i=

0;i<

10;i++

)//輸出結果為hello,null,null,null,null

未初始化的string預設為null,

int預設為0。

// 3. 12方式結合

char c;

c=newchar

;for

(int i=

0;i<

3;i++)}

}特別的二維陣列的,當只定義第一維維數時,另一維的維數可以不一樣

int arra;

arra =

newint[3

];arra[0]

=new

int[3]

; arra[1]

=new

int[2]

; arra[2]

=new

int[1]

;

類和物件(上)

類的定義格式 說明部分和實現部分 class 類名 public 公有資料成員和成員函式 protected 保護資料成員和成員函式 private 私有資料成員和成員函式 各個成員函式的實現 建構函式 a 作用 為物件分配空間 對物件初始化 即賦初始值 請求其他資源。b 特點 函式名和類名完全相同...

類和物件(上)

1.什麼是物件導向?想想之前學過的c語言,c語言是面向過程的語言,不管是簡單型別還是複雜型別,只是一味的呼叫函式,這裡的呼叫函式就是將資料處理的過程,更加在乎的是處理邏輯和處理結果 c 是面向過程的語言,首先要說一下什麼是類?什麼是物件?類,通俗的就講就是乙個事物的描述,描述著這一類事物的特徵和動作...

類和物件(上)

1.類是物件的抽象,而物件是類的具體例項。類是抽象的,不占用記憶體 而物件是具體的,占用儲存空間。2.面向過程與物件導向 c語言是面向過程的,關注的是過程中的資料與方法。c 是物件導向的,關注的是物件 的屬性與功能。1.在c 中,結構體內不僅可以定義變數,也可以定義函式。struct student...