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...