涵义:
关键字static是一个修饰符,用来修饰成员变量和成员方法。
static修饰的特点:1、它会随着类的加载而加载。也就说明了它的生命周期与类同寿(区别非静态的实例变量)。
2、它优先对象先存在。(因为它随类加载而加载嘛)
3、被static修饰后被类共享(也包括调用它的this)
4、静态比非静态多了一种调用成员变量或成员方是---"类名."调用。(可以不用创建对象来调用)
5、静态变量随着类的加载而存在于方法区中。
使用时注意:
1、静态方法只能访问静态成员。(区分:非静态方法既可以访问非静态方法也可以访问静态方法)
2、静态方法中不可以定义this、super关键字。(static修饰后方法随类加载而加载,this、super没有指向。没有涵义,报错)
{主函数是静态的。
修饰那些非特有数据变量。
当你想把所有方法都静态时,要多加一步;私有构造函数。}
好处:1、修饰变量数据被共享,节省空间。
2、修饰方法可以类名点调用,不用创建对象。
3、灵活应用static能增强代码复用性
弊:访问有局限性。(只能去访问静态的)
静态代码块:
格式---------------static {
代码块的运行语句。
}
就是为了给类进行初始化的。
区别于非静态代码块和构造函数:其是随类加载而加载的所以这些执行顺序为——
静态代码块—>非静态代码块—>构造函数
()
还有 静态代码块只运行一次。 |
|