어떤 클래스에서 private 접근 한정자를 이용해서 멤버로 선언한 변수 a가 있다고 치면,

이 변수는 Button의 클릭 리스너의 구현 부분에서 접근이 안되야 정상 아닌가요?

public class AAA {
private int a;

public AAA() {
      Button button = 생략(^^;;)
      button.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                 a = 1;
            }
}

제 생각엔 위와같은 코드는 에러가 나야 정상인데, 막상 해보니 이런 접근이 가능 하던데 혹시 이에 대해서 설명 좀 해주실분? ^^;