静态成员变量与非静态的差别
如果我们在成员变量前边加上static关键字,这个变量就成为静态成员变量,我们又把这种变量叫做“类变量”,因为这样的变量在这个类的所有对象里只有一个,这个类的所有对象“共享”同一个类变量。因此,一旦通过某个对象修改了静态变量的值,这个类的所有其他对象里面,这个静态变量的值就跟着变了。
//非静态成员变量
package test;
public class arraytest
{
int i=47;
public void call(){
System.out.println("调用call方法");
for(i=0;i<3;i++){
System.out.print(i+" ");
if(i==2){
System.out.println();
}
}
}
public static void main(String[] args)
{
arraytest t1=new arraytest();
arraytest t2=new arraytest();
t2.i=60;
System.out.println("t1调用变量i的结果="+t1.i);
t1.call();
System.out.println("t1调用变量i的结果="+t2.i);
t2.call();
}
}
例子二:此代码中的i其实是同一个
package test;
//静态成员变量
public class arraytest2
{
static int i=47;
public void call(){
System.out.println("调用call方法");
for(i=0;i<3;i++){
System.out.print(i+" ");
if(i==2){
System.out.println();
}
}
}
public static void main(String[] args)
{
arraytest2 t1=new arraytest2();
arraytest2 t2=new arraytest2();
t2.i=60;
System.out.println("t1调用变量i的结果="+t1.i);
t1.call();
System.out.println("t1调用变量i的结果="+t2.i);
t2.call();
}
}