2014-03-03 3 views
-3

보드 게임의 특정 위치가 검은 색 (빨간색과는 달리)으로 표시되는지 테스트하는 프로그램이 있습니다. 나는 내 프로그램에서 private static int _row = 0, _col = 0을 가지고있다. 내 isBlack 메서드에서 _row = (some value)와 같이 두 필드의 값을 변경하려고합니다. 그러나 다른 메서드에서는 isBlack을 호출 한 후에도 필드가 동일하게 유지됩니다. (그들은 새로운 가치로 설정되지 않았습니다.) 나는 무엇인가 놓치고 있습니까?메소드의 변수

+4

당신이 말하는 코드를 보여줄 수 있습니까? –

+0

1. 코드를 게시하십시오. 2. _row, _col과 같은 이름 변수는 사용하지 마십시오. camelCase를 사용하십시오. – TheLostMind

+1

'뭔가 빠졌습니까? '- 우리에게 보여줄 코드. –

답변

0

변수가 선언 된 것과 관련이있는 것 같습니다 (static). isBlack 방법이 static 인 경우를 제외하고는이 변수 (해당 변수로 판단)는 static이 아니어야합니다. static은 구성원 사본이 하나만 있다는 것을 의미하며 사용자가 만든 static 구성원을 포함하는 모든 인스턴스에서 다른 인스턴스에서도 여전히 동일하게 유지된다는 것을 의미합니다.

표시 할 코드가 없으므로 나는 확실히 알 수 없습니다. 하지만 내 최선의 추측은 이것이 당신의 문제가 발생하는 이유입니다.

관련 문제