3)static和automatic可以将一个任务task或者函数function显式地声明成静态或者自动的:一个自动automatic 声明的任务、函数或块内声明的数据缺省情况下具有调用期或激活期内的生命周期,并且具有本地的作用范围; 一个静态static 声明的任务、函数或块内声明的数据缺省情况下具有静态生命周期并具有本地的作用范围。
(4)此外静态任务或函数或块内的数据可以被显式地声明成自动的,而自动的任务、函数或块内的数据也可以被显式地声明成静态的。
其实将一个任务函数或块声明成static或者automatic还是为了决定其内部数据的生命周期属性,这与静态方法的static有本质上的不同。而且两者的声明方式也有区别:
如果想声明一个静态的任务、函数或块:
由上可见两个static不仅含义不同,声明方式也不同。
注意第二句话"具有自动变量生命周期的静态方法",也就是说这个任务虽然是静态任务,但是其内部数据的缺省情况下的生命周期是自动的。