1.一个类里面的成员变量如果是静态变量,这个成员变量可以用在是静态的方法里面,也可以是非静态的方法里面;
2.如果这个类里面的成员变量是非静态变量,只能用在非静态方法里面;
3.总之:静态方法里面只能放静态变量。
4.语法定义上的区别
静态变量用static修饰
实例变量没有static修饰
5.运行区别,实例区别
静态变量在类中,不属于实例对象,属于类所有,只要程序加载了字节码,不用创建实例对象静态变量就会被分配空间,已经可以使用。
实例变量是某个对象的属性,只有实例化对象后,才会被分配空间,才能使用。
类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;
而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
- public class SE004_LeiBianLiangAndShiLiBianLiang {
- public static void main(String[] args) {
- Demo d1 = new Demo();
- Demo d2 = new Demo();
- }
- }
- class Demo{
- static int i = 1; //类变量(静态变量)
- int j = 1; //实例变量
- public Demo(){
- i++;
- j++;
- System.out.println(i+":"+j);
- }
- }