一、委託
我感覺的委託就是指乙個函式指標,指向被委託的方法,在定義的時候把返回值型別與引數全部定義好,建立的例項相當於乙個指向被委託函式的指標,然後將需要的資料通過委託傳進去
是先呼叫委託例項,然後委託例項再呼叫方法
簡寫的那種方式更能體現它像乙個函式指標
注意:多播委託就是用+=與-=進行操作 當多播委託的返回值型別不是void時 會從最後乙個被呼叫的方法那接收返回值。
下面是例子:
class
program
static
intadd
(int a,
int b)
}
二、泛型
在要處理的資料型別不同但是演算法相同的時候用到泛型。
可以泛型類也可以泛型方法
對於泛型類:
class fanxing
}
使用的時候是這個樣子的:
fanxing<
int> fanxing =
newfanxing
<
int>()
;fanxing.a =
1;
對於泛型方法:
void
fanxing
<
t>
(t a,
t b)
使用時候的樣子:
fanxing
<
int>(1
,2);
對於泛型介面:
inte***ce
imyinte***ce
使用的時候:
class
myclass
:imyinte***ce
}
三、有一種委託叫泛型委託
1.func
2.action
四、裝箱和拆箱
資料型別分為值型別與引用型別 值型別在棧中分配記憶體而引用型別在堆中分配記憶體
裝箱是將值型別轉換成引用型別
拆箱是將引用型別轉換成值型別
在呼叫含有object型別的方法時 傳入值型別的資料會進行裝箱,在這個方法之中處理這個資料會發生拆箱
裝箱:
int a =1;
object obj = a;
拆箱:
int b =
(int
)obj;
四、事件
事件實現的功能是通知和可選的事件引數
比如手機響了,這個就是通知,而事件引數就是某個應用的推送訊息。
事件有事件的擁有者:比如手機
事件成員:比如響聲
事件的響應者:比如人
事件處理器:比如人對手機的各種操作
事件訂閱:把人和手機關聯在一起
事件訂閱的操作符是+= 這裡一定要匹配 所以可以先在訂閱的時候寫好方法名,然後再自動生成。
C 裝箱 拆箱 泛型
1 裝箱 值型別轉引用型別。開闢一塊記憶體空間進行存放資料。2 拆箱 引用型別轉值型別。值型別存放在棧上,引用型別存放在堆上。裝箱需要消耗記憶體,所以引出了泛型。泛型 1.使用非泛型集合時引發的裝箱和拆箱操作 看下面的一段 1 2 3 4 5 6 7 8 vararray newarraylist ...
從裝箱拆箱看泛型
net很容易把值型別轉換為引用型別,所以可以在需要物件的任意地方使用值型別。例如int可以賦予乙個物件,從值型別轉換為引用型別稱為裝箱。如果方法需要把乙個物件作為引數,同時傳遞乙個值型別,裝箱操作就會自動進行。另一方面,裝箱的值型別可以使用拆箱操作轉換為值型別。定義乙個一般的 非泛型的簡化鍊錶類,它...
java學習 裝箱與拆箱 泛型
把基本資料型別賦給對應的包裝類。比如 把int賦值給integer,對他的操作就需要用它的方法了。是值型別轉換為引用型別的過程。把乙個包裝類賦給基本資料型別。由引用型別轉換為值型別的過程。integer i 1 裝箱 int j i 拆箱 典型應用 list list new arraylist l...