一.类成员和特点
-
状态和行为应该有对象和类之分。
-
有的状态和行为应该属于对象,不同对象,状态和行为可以不一样。
-
有的状态和行为应该属于类,不属于对象。使用static修饰可以使该行为或状态属于类。
-
static修饰符的作用:
表示静态的,可修饰字段,方法,内部类,其修饰的成员属于类,
也就是说static修饰的资源属于类级别,而不是对象级别。 -
static修饰符的特点:
- static修饰的成员(方法、字段)随着所有类的加载而加载
JVM把字节码加载进JVM的时候,statiic修饰的成员已经在内存中存在了 - 优先与对象的存在
对象是手动通过new关键字创建出来的 - 直接使用类名访问static成员
- static修饰成员被该类型的所有对象所共享
该类创建出来的任何对象都可以访问static成员,
本质依然使用类名访问,跟对象没有任何关系。
- static修饰的成员(方法、字段)随着所有类的加载而加载
二.类成员和实例成员的访问
-
类中的成员:字段,方法,内部类。
-
类成员:使用static修饰的成员
-
实例成员:没有使用static修饰的成员
-
类成员只能访问类成员。
类成员,直接属于类,类与类之间可以通过类来访问static字段和static方法。
(对象其实可以访问类成员,但是底层依然使用类来访问) -
在static方法中,只能调用static成员,
-
非static方法,可以访问静态成员,也可以访问实例成员
三. 类成员的使用
如果这个状态/行为属于整个事物(类),就直接使用static修饰,被所有对象所共享,
在开发中,往往把工具方法使用static修饰。如果不使用static修饰,则这些方法属于
该类的对象,得先创建对象在调用方法,在开发中工具对象只需要一份即可。