全新java初学者实践教程16(java SE5.0版) l"{Sm6:;-
基本语法5 C@Nv;;AlU
65oWD-
zOHypazOTq
,在我们前几次课的基础上,我们继续学习一下[font="Times]java的语法。这回我们,讲[font="Times]static关键字。 kWlAY%
[font="Times] static关键字可以用来修饰类的变量,方法和内部类。[font="Times]static是静态的意思,也是全局的意思。它定义的东西,属于全局与类相关,不与具体实例相关。就是说它调用的时候,只是[font="Times]ClassName.method(),而不是[font="Times]new ClassName().method()。 /Y&02L%\3s
[font="Times]new ClassName()不就是一个对象了吗?[font="Times]static的变量和方法不可以这样调用的。它不与具体的实例有关。 *d(SI<j
实践: '`|AI:L
class Count { $s4Wkq
private int serialNumber; _TUk(Qe
public static int counter = 0; //一个静态变量counter =(EI~N
public Count() { E"%2)
counter++; //创建Counter的时候递增 aYn8^
serialNumber = counter;} hKNY+S})g
public int getSerialNumber(){ ~"lJ'&J}
return serialNumber; v[TYc:L=
}} ~1*A
class OtherClass { `gpQW~*R-;
public int increment(){ ExSO|g]%
return Count.counter++;//静态的变量不属于任何实例只能直接用类调用 Q \]Xm>
}} 5tv<8~:K
public class TestStaticVar { 6 CC &Z>
public static void main(String[] args){ - ZW3
Count[] cc = new Count[10]; .c^
ggy%
OtherClass o = new OtherClass(); l;"Ab?P\
for (int i=0;ilength;i++){ *9 Q^5;y
cc = new Count(); [EY`am8[
System.out.println("cc["+i+"].serialNumber = "+cc.getSerialNumber()); nRb^<cZf
System.out.println(o.increment()); BPqGJ7@
}}} j J3zF3Id
类的方法中带有static关键字,这个方法就是静态方法。静态方法也是要通过类名,而不是实例访问。实践: 0@5E|<