static:是一个关键字,用于修饰类的成员(成员变量和成员方法)
* 被static修饰的内容属于类,而非对象
* static的特点:
* 被所有的对象所共享
* 可以使用类名调用
* 静态的加载优先于对象
* 随着类的加载而加载
static的注意事项:
* 静态方法:
* 可以调用静态的成员变量
* 可以调用静态的成员方法
* 不可以调用非静态成员变量
* 不可以调用非静态成员方法
* 总结:静态方法只能调用静态的成员
* 非静态方法:
* 可以调用静态的成员变量
* 可以调用静态的成员方法
* 可以调用非静态的成员变量
* 可以调用非静态的成员方法
* 总结:非静态方法可以调用任何成员
*
* 静态的方法中是否有this这个对象?没有的。super也没有。
static的优点
对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份
可以直接被类名调用,不用在堆内存创建对象
static的弊端
访问出现局限性。(静态虽好,但只能访问静态)
应用场景:Math类(工具类)