0
$ stMC :그루비 클래스 - 공공 정적 과도 부울 C .__ 다음과 같이 내가 단순한 더미 클래스에 메소드 <code>getFields()</code>를 사용하려고했다
class C{
public int a
int b
String s
float f
static int x
}
내가
을 썼다이
def c = new C()
println c.class.getFields()
내가 출력으로 무엇을 가지고 있습니다 :
[public int C.a, public static transient boolean C.__$stMC]
사람이 설명 할 수있는 이유는 단지 a
이 목록에 나타 납니까? 그리고 다른 엔터티는 무엇입니까 C.__$stMC
? 온라인으로 검색 한 결과, stMC는 staticMetaClass를 나타냅니다. 명확히하십시오. 감사합니다
그러나 Groovy에서는 모든 필드가 public으로 기본 설정됩니다. 그래서,'getFields()'도 그것들을 포함해야합니다, 그렇죠? 또한 $ stMC에 대한 아이디어가 있습니까? 그것이 무엇을 의미합니까? –
모든 필드에는 공용 액세스 한정자가 있습니다. 후드 아래에 obj.prop = "x"를 사용하여 값을 변경하면 실제로 메소드가 호출됩니다. 컴파일 된 Java 필드 아래에 공개되지 않습니다. –