1:首先在语法定义上区别:静态变量前面要加static,实例变量不用
2:在程序运行时:实例变量输入对象的属性,必须创建了实例对象(如 new)才会被分配空间,才可以使用实例变量,
静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用
3:总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
1 public class BainLiang {
2
3 public static void main(String[] args) {
4 // TODO Auto-generated method stub
5 //直接调用测试:
6 System.out.println(QuBie.staticInt);
7 // System.out.println(QuBie.shiInt);//报错
8 QuBie qb1=new QuBie();
9 QuBie qb2=new QuBie();
10 qb1.shiInt=8;
11 qb1.staticInt=8;//这里改变以后,再创建的对象也是会用改过的数值
12 QuBie qb3=new QuBie();
13 }
14 }
15 class QuBie{
16 publicstatic int staticInt=0;
17 publicint shiInt=0;
18 public QuBie(){
19 staticInt++;
20 shiInt++;
21 System.out.println("静态变量"+staticInt+" 实例变量"+shiInt);
22 }
23 }
静态变量 这种写法在生活中非常使用,如买火车票,一共100张,有4个窗口在卖,也就是说一定要公用一个资源,也就是要定义成static。