static关键字
(1),无论创建多少个对象,静态数据都只占用一份存储区域,static关键字不能应用于局部变量,因此它只能作用于域。
如果一个域是静态的基本类型,且也没有对它进行初始化,那么它就会获得基本类型的标准初值;如果它是一个对象引用,那么它的默认值初始化值就是null.
(2),通过static关键字可以满足这两方面的需求。一方面一个事物是static时,就意味着这个域或方法不会包含它的那个类的任何对象实例关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其他static方法或者访问其static域。
(3),面向对象程序采用*类数据(类变量、属性)*和*类方法*这个两个术语。
(4),一个static字段对每个类来说都只有一份存储空间,而非static字段则是对每个对象有一个存储空间。
(5),static方法的一个重要用法:就是在不创建任何对象的前提下就可以调用它
(6),静态代码块:static{}
例子:
public class Spoon{
static int i;
static{
i = 47;
}
}
1,与静态初始化动作一样,这段代码仅执行一次:当首次生成这个类的一个对象时,或者首次访问属于哪个类的静态数据成员时(即便从未生成过哪个类的对象)。
…….还未总结完,待续ing..