先说场景吧:之前学习过了静态变量、静态方法,但是现在又有点糊涂了~所以现在复习一下吧。
关于静态变量和静态方法的理解:
静态方法和静态变量是在公共内存中开辟的一块存储空间中,是为程序空间的所有对象所共享的。
所有静态对象在整个程序的生命周期中只有一个实例,称它为实例只是为了更好的理解吧,静态类是不需要手动创建实例的。
所以静态对象是不能引用本身以外的非静态变量或者非静态对象的,这里,我的理解是非静态变量或者非静态对象的内存空间是不可控的,因而如果允许静态方法访问非静态类,就会不安全了。
下面是一些测试代码:
class Test(){
public static String str1="1";
public String str2="2"
public static void main(String[] args){
System.out.println(str1);//1
System.out.println(str2);//error!
}
}