例子,在下面的代码中
{
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
这个函数newListen里面,建立了一个clsListen对象,但没有赋值给任何外部的变量,那么,这个clsListen的实例是不是建立后就销毁了呢。
下面有个例子,这个例子里面一共有3个类,分别是clsMain, sendEvent, clsListen. sendEvent 类有一个静态的事件OnNewEvent, 它的方法ShowNewEvent 里会触发这个事件。
clsListen类的构造函数中会用处理函数sendEvent_OnNewEvent来侦听sendEvent的OnNewEvent事件。
clsMain类中有个方法,在这个newListen方法中创建一个clsListen的实例。
再看下面代码:
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
12
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
在上面的代码中,clsListen的实例是在clsMain的一个方法里创建的。创建后是否会销毁呢。那我们再重看看clsMain类,我在这个类的构造函数里面这样写:
public class clsMain
{
public clsMain()
{
newListen()
sendEvent.showNewEvent()
}public void newListen()
{
new clsListen()
}
在上面代码中,clsMain先在newListen中创建一个clsListen, 这个clsListen实例是在函数里面的。那照理它应该接着就会销毁了。在接着的语句中会触发一个sendEvent 的事件。
运行以上的代码(还需要在某个main()函数来启动程序并先实例clsMain类。你会发现运行结果是进入了listen的事件处理程序。那就是说,这个listen的实例是真确存在的。
以后我会讨论对象侦听普通类事件对对象生命周期的影响。怎样才能撤掉这些对象等等。
第一次写东西,希望大家不吝指教以后我会努力写得更简洁完善。