3.1 static关键字的作用
个人觉得static目前的作用仅仅体现在可以在没有创建对象的情况下 来进行调用,从而优化系统性能
3.2 一般被static用来修饰的部分(变量,方法,代码块)
3.2.1 变量
我们一般将被static修饰的变量称为静态变量或类变量,那么它和普通的变量有什么区别呢?
静态变量一般是在类加载的时候系统就为其分配内存了,声明周期更长,不会受方法调用的印象,而普通变量随着实例化开始分配内存,随着调用结束关闭内存。
一般情况下不推荐系统声明太多的静态变量,因为在程序启动的时候回分配大量的内存,反而降低系统性能。而且相同的静态变量在使用时会互相冲突,使用起来并不灵活
3.2.2 方法
静态方法是可以不依赖对象就可以访问的
静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员变量的
3.2.3 代码块
静态代码块可以优化系统性能,原因其实很简单,因为静态代码块可以放置在类中的任意位置,而且仅在类加载的时候执行一次,所以可以优化系统性能。