static:可以修饰成员变量和成员方法。
当变量被static修饰后,则其可以直接被类名调用。类名.成员。
static特点:
随着类的加载而加载;
优先于对象存在;
被所有的对象共享,节省空间,但生命周期过长,访问有局限性。
可以直接被类名调用;
实例变量和类变量的区别:
存放位置:类变量随着类的加载而存在在方法区中,而实例变量随着对象的建立存放在堆内存中。
生命周期:
使用注意事项(理解为什么):
静态方法只能访问静态成员;
静态方法中不可以定义this,super关键字;
主函数是静态的。
什么时候使用静态?
当对象中出现共享数据,则使用静态修饰,而特有的数据则修饰为非静态存放在堆内存中。
什么什么定义静态函数?
当功能内部没有访问到非静态数据时可以定义为静态的。(理解为什么)