为什么 "return x.a;" 不发出错误信号?

Why doesn't "return x.a;" signal an error?

我明白为什么“return一个;”发出错误信号(因为 'a' 是非静态属性,我试图在静态方法中引用它),但我不明白为什么“return x.a;”不表示错误。 'x'的'a'属性还是非静态的,应该不会报错吧?

    class A{
        private int a=0;
        private static int b =0;
    
        public int m(){
            return a;
        }
    
        public static int n(A x){
            return x.a;//not an error
            return a;//error
        }
    }

but I don't understand why "return x.a;" doesn't signal an error

return x.a 是有效的,因为 x 可以作为静态方法中的局部变量访问,并且是 A 的实例。 aA 实例上的实例 属性,因此 x.a 完全有效。