static属性
static 属于全局,也就是类的属性 和方法,换句话说 一个类,不管有多少个实例,却只有一个全局变量
用static修饰的属性和方法称为静态属性和方法
需要注意的是 静态属性和方法属于类方法,加载类后,就已经存在静态属性和方法,实例是需要用new构造出来后 才会有引用
根据先后顺序,就有以下两条规则
1、非静态的方法可以调用静态的或者非静态的属性和方法;
2、静态的方法不可以调用非静态的属性和方法,因为非静态的还不一定存在,只能先构造出来后,再通过实例引用
注意:1)static修饰的属性具有缓存的作用,比如写一个银行类,用static修饰余额属性,则每次调用含有余额的属性或方法时,余额里的值都为上次调用时的值。
2)显示调用余额时,比如创建了两个账户,
private static double balance;
1 //情况一 可以测试下 2 Account a1=new Account("张三",23,2000); 3 System.out.println(al.balance); // 2000 4 Account a2=new Account("李四",23,5000); 5 System.out.println(a2.balance); // 7000 6 7 8 9 10 //情况二 11 Account a1=new Account("张三",23,2000); 12 Account a2=new Account("李四",23,5000); 13 System.out.println(al.balance); // 7000 14 System.out.println(a2.balance); // 7000