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

 

posted @ 2016-09-17 23:00  奋斗的少年WH  阅读(210)  评论(0编辑  收藏  举报