【定义】:是一个成员修饰符,可以修饰成员变量、成员方法;【特点】:1.随着类的加载而加载,存放于方法区的静态区;
2.优先于对象进内存;
3.被所属类的所有对象共享;
4.被类名直接调用,无需创建对象,再调用。
【注意事项】:
1.不能修饰局部变量;
2.静态方法中,不能有非静态成员;
3.静态方法中,不能有this和super,因为这两个关键字为对象所有;
4.非静态方法中,可以有静态成员变量和静态成员变量。
关于第四点,可以这样记住:静态变量先加载进静态区,然后,才将非静态成员随着类加载到堆内存中。
所以在静态方法中,一定不允许非静态成员。
【使用场景】
当方法没有访问过非静态成员的时候,可以定义为静态方法。一般工具类中的共用方法,可以定义为static,如Math中的很多方法
都被static修饰。但是静态慎用,因为,其生命周期很长,在结束JVM之前,才会清理方法区。
|