楼上正解。
我们得了解,java是面向对象操作的,即没有独立的变量和函数存在,都是要封装在类里面,成为该类的一部分,然后通过指向该类对象的引用来实现对这些变量或者函数的操作。但是有些数据使用很频繁,每次使用它都需要实例化一个对象,既麻烦也占用内存空间,这时候就可以考虑定义为静态的,通过类名使用,这样就不用每次都实例化一个对象。
static修饰的成员,在加载类的时候,同时加载在内存的方法区中,不用new一个类的对象就存在,这时候可以不需要通过指向对象的引用来操作静态成员。
如果没有static修饰,那么这些成员就会在对象创建时,加载到相应的内存区,这时候调用这些成员,就需要通过指向这个对象的引用来操作。 |