在 Java 中,为什么不允许从静态方法中访问非静态变量,能否详细说明一下
4条回答 默认 最新
- 元气少女缘结神 2023-03-05 22:32关注
静态变量属于类本身,在类加载的时候就会分配内存,可以通过类名直接访问;
非静态变量属于类的对象,只有在类的对象产生时,才会分配内存,通过类的实例去访问;
静态方法也属于类本身,但是此时没有类的实例,内存中没有非静态变量,所以无法调用。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
静态变量属于类本身,在类加载的时候就会分配内存,可以通过类名直接访问;
非静态变量属于类的对象,只有在类的对象产生时,才会分配内存,通过类的实例去访问;
静态方法也属于类本身,但是此时没有类的实例,内存中没有非静态变量,所以无法调用。