全新java初学者实践教程16(java SE5.0版) 2\CFt;fk
基本语法5 D(@#Gd\Z@
1EyM,$On
P7 H-Dw
,在我们前几次课的基础上,我们继续学习一下[font="Times]java的语法。这回我们,讲[font="Times]static关键字。 4WzB=C(f
[font="Times] static关键字可以用来修饰类的变量,方法和内部类。[font="Times]static是静态的意思,也是全局的意思。它定义的东西,属于全局与类相关,不与具体实例相关。就是说它调用的时候,只是[font="Times]ClassName.method(),而不是[font="Times]new ClassName().method()。 {%N*AxkvId
[font="Times]new ClassName()不就是一个对象了吗?[font="Times]static的变量和方法不可以这样调用的。它不与具体的实例有关。 Gv?'R0s
实践: Ac^}wXp
class Count { FC.y%P,
private int serialNumber; do+HPnfDzU
public static int counter = 0; //一个静态变量counter g$EjIHb
public Count() { V[HHP_
counter++; //创建Counter的时候递增 9bNjC&:4/]
serialNumber = counter;} &
WYIfx{
public int getSerialNumber(){ P%ev8]2
return serialNumber; r*p<7
}} Pi40w+/
class OtherClass { O<)"kj 7
public int increment(){ 4u"V52
return Count.counter++;//静态的变量不属于任何实例只能直接用类调用 Fwm{oypg%
}} f+ZOE?"
public class TestStaticVar { ;F*^c
)
public static void main(String[] args){ @`+\vmfD
Count[] cc = new Count[10]; <$hv{a
OtherClass o = new OtherClass(); o/
51RH
for (int i=0;ilength;i++){ /eU\B^k
cc = new Count(); !( +M
System.out.println("cc["+i+"].serialNumber = "+cc.getSerialNumber()); F'>yBDm*OM
System.out.println(o.increment()); S&-F(#CF^
}}} ctHQZ#.[(
类的方法中带有static关键字,这个方法就是静态方法。静态方法也是要通过类名,而不是实例访问。实践: a!4p$pR
class GenerealFunction { '5*&
public static int add(int x,int y){ \!jz1`]&{
return x+y; 7p\&