Java的静态变量和静态方法

总结一下,静态变量和非静态变量、静态方法和非静态方法的区别。

静态变量和非静态变量:

静态变量是属于类的,在类加载时直接初始化,并且是在类的任何对象创造之前就完成初始化,同一类的所有实例也都共享同一个静态变量;而非静态变量是属于对象(实例)的,实例化时才被分配内存空间。它们的访问方式:静态变量不能访问非静态变量(不知道非静态变量是属于哪个实例的变量),而非静态变量可以访问静态变量。

静态方法和非静态方法:

静态方法同样也是属于类的,外部调用该静态方法时,可以直接通过“类名.静态方法名”,不需要再创建对象的行为了,不可以使用this关键字(this关键字与实例有关),而非静态方法一定要创建对象才能进行访问。同样,静态方法不能访问非静态方法(原因:非静态的方法是属于某个实例的,而静态方法是属于类的,它不知道非静态方法是属于哪个实例的方法),而非静态方法可以访问静态方法。

猜你喜欢

转载自blog.csdn.net/sbcxylyt/article/details/79399418