static
1.static概念
工具类
2.static内存图
静态变量是随着类的加载而加载的,优于对象出现
3.static的注意事项
1.静态方法中,只能访问静态 : 因为非静态方法一般会传入调用方法的对象的地址this(一般是虚拟机自动调用,不需要手动传入, 如student.study()).但是由于静态方法是所有对象共享的,所以不需要传入调用对象的地址值,所以没有this, 没有this自然没有办法访问静态的变量或方法.
2.非静态方法因为有this,也就是对象的地址值,所以自然可以调用非静态方法,而静态方法所有的对象都可以调用,所以非静态方法可以访问所有.
从内存的角度解释 : 静态变量和方法是和类一起创建的, 而非静态变量和方法是和对象一起创建的, 如果没有创建对象, 那么也就没有非静态变量, 所以静态变量和方法可以互相调用, 而不能访问非静态的东西.
静态方法不能调用实例变量 : 因为没有实例对象.