一、普通变量:每个对象都有属于自己的值
结果展示:
二、静态变量:属于类级别,每一个对象是由的都是同一个变量(唯一)
结果展示:
三、调用静态方法和一般成员方法的区别
1、调用静态方法:
类名.静态成员方法名();
2、调用普通的成员方法:
1)先声明一个对象
2)对象名.一般成员方法名();
四、静态代码块1
结果展示:
疑问?
(1)为什么第21行的调用a2函数的时候既不用类也不用对象名调用呢?
答:第一、a2函数是个静态函数,所以在调用的时候可以直接用类名调用,不嫌麻烦的话也可以用对象名调用
第二、不使用类名调用是因为mian函数和a2函数都是同一个类中,而且这两个方法都是静态的,所以直接用方法名就可以
五、静态代码块2
结果展示:
根据上面两个代码执行的情况,有同学可能觉得为什么第一次输出的结果一直是1呢?
后面的2和3的顺序为什么不一样就不再解释了,只解释1的原因,因为写在静态代码块中的有最高的执行优先级(4--7行是静态代码块),那么到这里有同学可能还会问那这个静态代码块是什么时候执行的呢?它是在类加载的时候就被执行了