非静态成员变量或方法属于类的对象,只有在类实例化时才会分配内存,然后通过实例访问。
而静态成员变量和方法属于类本身,在类加载的时候就会分配内存。
因此在一个静态方法内调用一个非静态成员时,可能会出现非静态成员没分配内存,非静态成员还不存在的情况,此时就会出错,因此是非法的。
在静态方法内调用一个非静态成员为什么是非法的?
最新推荐文章于 2023-06-26 13:01:54 发布
非静态成员变量或方法属于类的对象,只有在类实例化时才会分配内存,然后通过实例访问。
而静态成员变量和方法属于类本身,在类加载的时候就会分配内存。
因此在一个静态方法内调用一个非静态成员时,可能会出现非静态成员没分配内存,非静态成员还不存在的情况,此时就会出错,因此是非法的。