Java中静态方法,非静态方法,静态变量,非静态变量四者之间的关系

使用规则:
静态方法:即类方法,在类之中,以static关键字申明的方法。
使用方法:直接使用类名.类方法名来进行调用。

非静态方法:即成员方法,没有static关键字申明。
使用方法:需要先创建类对象,使用类对象名.成员方法名来进行调用。

静态变量:即类变量,在类之中,方法之外,以static关键字申明的变量,它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。
使用方法:直接使用类名.类变量名来进行访问。

非静态变量:即成员变量,在类之中,方法之外,没有static关键字申明。
使用方法:需要先创建类对象,使用类对象名.成员变量名来进行调用。在同类,无需创建对象,即可进行相互之间的调用。

它们之间的关系:
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
静态方法中可以通过类名.静态方法名来调用(同类中类名点可以省略),但不能直接调用非静态方法,需要通过对象来访问非静态方法
非静态方法中可以通过类名.静态方法名来调用(同类中类名点可以省略),也可以直接调用非静态方法,其他类的话需要创建对象,然后通过对象来访问非静态方法

切记:静态方法不能做单元测试,单元测试需要满足两点:
1.用@Test注解的方法必须没有返回值,返回值类型无:void
2、用@Test注解的方法必须没有入参。

图片演示:
Java中静态方法,非静态方法,静态变量,非静态变量四者之间的关系